From 7f67b95ad6bcbaa38ede77f2f9025aeec073fe53 Mon Sep 17 00:00:00 2001 From: Adam Goldsmith Date: Sat, 6 Jan 2024 21:30:41 -0500 Subject: [PATCH] 3.3.0 --- Arkham SCE.json | 416422 ++++++++++++++++++++++----------------------- Arkham SCE.png | Bin 138144 -> 689109 bytes 2 files changed, 206729 insertions(+), 209693 deletions(-) diff --git a/Arkham SCE.json b/Arkham SCE.json index 7dddb1c..94e6598 100644 --- a/Arkham SCE.json +++ b/Arkham SCE.json @@ -1,209693 +1,206729 @@ -{ - "SaveName": "Arkham SCE - 3.2.0", - "EpochTime": 1693090275, - "Date": "8/26/2023 5:51:15 PM", - "VersionNumber": "v13.2.2", - "GameMode": "Arkham Horror LCG - Super Complete Edition", - "GameType": "", - "GameComplexity": "", - "PlayingTime": [ - 0, - 0 - ], - "PlayerCounts": [ - 0, - 0 - ], - "Tags": [], - "Gravity": 0.5, - "PlayArea": 1.0, - "Table": "Table_None", - "Sky": "Sky_Museum", - "SkyURL": "https://i.imgur.com/GkQqaOF.jpg", - "Note": "", - "TabStates": { - "10": { - "title": "Token Remover", - "body": "Created by Whimsical\n\nAnything that passes over the remover that isn't a card, deck or chaos token will be deleted.\r\nTo use the remover, right click on it, choose the \"Enable\" option, and take your card with resources/horror/damage and swipe it over the remover. You may wish to unlock and/or copy the remover to your play area first.", - "color": "Grey", - "visibleColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "id": 10 - }, - "11": { - "title": "Numpad Hotkeys", - "body": "By Whimsical. Requires Numlock set to On.\nNumpad 1: Cut top 3 cards of deck\nNumpad 2: Cut top 6 cards of deck\nNumpad 3: Cut top 9 cards of deck\nNumpad 4: Spawn Damage\nNumpad 5: Spawn Connection Marker\nNumpad 6: Spawn Horror\nNumpad 7: Spawn Doom\nNumpad 8: Spawn Clue\nNumpad 9: Spawn Resource\nNumpad 0: Draw lines between selected objects. Hold to draw lines from mouseover object to other selected objects.", - "color": "Grey", - "visibleColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "id": 11 - }, - "7": { - "title": "How to Hide Hands", - "body": "The server host can enable or disable cards in hands being hidden from other players by going to the menu at the top of the TTS screen, clicking options, and choosing Hands. The \"Disable\" setting reveals all player hands to all players, while the \"Default\" setting means that each player can only see the cards in their own hand.", - "color": "Grey", - "visibleColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "id": 7 - }, - "8": { - "title": "Basic Intro", - "body": "Welcome to Arkham Horror LCG - Super Complete Edition!\r\n\r\nBelow you will find all the features and instructions this mod is loaded with, that will make your AH LCG experience easier.\r\n\r\nDECKBUILDING\r\n1. All current existing investigators are on the right-hand side, and within each chest you will find their investigator-specific assets and weaknesses. Also included is a basic starter deck which only requires you to add a basic random weakness to get going.\r\n\r\n2. On the left-hand side you will find both the weakness decks as well as lvl 0 cards sorted by class. To reveal the cards, click on each corresponding token to deal the cards onto the table. Cards are sorted by order of Skill, event and Asset cards top-down and increasing resource cost, left to right. \r\n\r\n3. On the upper side you have the upgrade cards. Similarly, click each token to deal the cards out onto the table. Cards are arranged both in increasing xp cost and resource cost, left to right. Typically, these are the cards you will be spending XP on between scenarios to purchase and improve your deck.\r\n4. On the right-hand side underneath the Investigators, you will find the automated ArkhamDB Deckbuilder (coded and maintained by Grabben). Click the load cards button to activate the Deckbuilder, check ArkhamDB for your chosen deck’s URL and insert its number code following the instructions on the deckbuilder, and it will build the deck automatically for you.\r\n\r\nSCENARIOS & SETUP\r\n1. \tArkham Horror LCG comes with a core campaign (Night of the Zealot) and several expansions (The Dunwich Legacy, The Path to Carcosa & The Forgotten Age). Within each box you will find the volumes that contain all the cards required for each scenario setup, as well as a tablet linking to the official campaign guide PDF. Also included are chaos token cards and a Campaign Log.\r\n\r\n2. \tEach scenario is setup differently, and while some of the work has been prepared beforehand (such as building encounter decks), you will have to refer to the Campaign Guide for specific instructions on how to set up each scenario.\r\n\r\n3. \tThe chaos bag is always placed on the scenario setup mat in the upper right-hand corner onto a snap point that tilts it at a 45-degree angle. Each scenario volume will contain a difficulty card, where you will have the choice of four difficulties. Press the button on the card according to the difficulty of your choosing and the chaos bag will automatically be configured with the tokens specific to that difficulty. In campaign play it is recommended to save your decks and chaos bag at the end of your scenario to carry over onto the next, as often tokens are added or removed from the chaos bag depending on actions or decisions made during the game. These additional tokens can be drawn from the token reserve book resting next to the newspaper in the middle of the main table – right click it and search for the token you need.\n\r\n4. \tWhen placing location cards, always place them face down on the main play area (the dark map of Arkham, Massachusetts) with the number of clues per location unrevealed. The mod is scripted so that when you flip said location cards (usually when entering the location with an investigator), if it contains clues, the number of clues specific to that location will automatically spawn. Note, that the mod only spawns tokens in relation to the number of players currently set on the playmat player settings. To set the number of players, left-click on the \"Investigators Playing\" number to increase, or right-click to decrease.\r\n\n5. To make location mapping easier, you can draw location connector tokens from the arrow-shaped container below the main play area. Each token has three states (one way, two way and four way) to use them accordingly to better visualize how your locations connect.\n\r\n6. \tIf you require additional doom or clue tokens, these are located on the scenario playmat in their corresponding containers. A handy Doom counter has been also been added to track the doom on the agenda – left-click to add to add, and right-click to deduct. Keep in mind that any doom spawned on enemies, locations or assets needs to be mentally added to the doom in play on the agenda to account for total doom.\r\n\r\nINVESTIGATOR PLAYMAT AND GAMEPLAY\r\n1. \tInvestigator mats are scripted to automate most of the gameplay for you. wdw\n\r\n2. \tEach mat has slots for inventory, where if you play an asset (for example you put a gun that has 4 ammo into your right-hand slot), the mod will automatically spawn the 4 resource tokens onto your equipped card.\n\r\n3.\tThe draw encounter button on the left-hand side will draw the topmost card from the encounter deck and put it in your threat area. Left-clicking will draw the card face-down, and right-clicking will draw the card face-up. When you draw a weakness, or engage an enemy, it is recommended you put it in your threat area, and once you defeat the enemy or treachery, you can send it to the encounter discard pile by clicking the discard button. If you defeat an enemy with a victory point, make sure not to discard to the discard pile, but pick the card up and drop it at the victory display.\n\r\n4. \tThe Click for Chaos button does just that, draw a random chaos token from your chaos bag. Clicking a second time, sends your chaos token back into the bag, which is then shuffled. If one player clicks to draw a token and doesn’t click a second time to send it back, the click from another player on his personal mat will send the token back first, and the next click will draw the token. Additionally, right-clicking the button will continue drawing tokens and line them up next to each other, which is useful for specific draw conditions the game may require from you. Left-clicking again will send all drawn tokens back to the bag.\n\nADDITIONAL FEATURES:\n1. Over 20 Fan-made scenarios created by the thriving community of Arkham Horror LCG have been included. Some of these are one-scenario missions, others are long involved campaigns spanning multiple scenarios. These are all contained in \"The Side Missions\". This boxset also includes the official FFG-created sidemissions Curse of the Rougarou, Carnevale of Horrors, Labrynths of Lunacy and The Eternal Slumber. Read the rulebook on including a side-mission into an ongoing campaign, or play it as a one-off adventure! Setup instructions are included in each volume.\n\n2. If you are not a fan of the dark themed Arkham map for the playmat, you can change the image on it to any you like. At the top left hand side of the playmat is an image icon, which when clicked will reveal a image swap panel. Input the URL for the image you want to repalce the playmat with, and the panel will apply the image for you. Keep in mind this will not change the existing snap points on the current playmat.\n\r\nAs a final comment, please be sure to let me know on the mod page in steam workshop if you find any bugs, issues or have any suggestions for improvement!\r\n\r\n\r\n \r\n\r\n", - "color": "Grey", - "visibleColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "id": 8 - }, - "9": { - "title": "Bless / Curse Manager", - "body": "Implemented by Tikatoy\nIdea conceived by Cadentia\n\nVersion 3.3\n\nTop buttons manage bless tokens, bottom buttons manage curse tokens\nADD - creates a new token and adds it to the chaos bag\nREMOVE - removes a token from the chaos bag and destroys it\nTAKE - takes a token from the chaos bag and places it below the manager (for sealing)\nRETURN - returns the last token taken from the chaos bag to the chaos bag\n\nTo use Parallel Wendy, go to Options -> Game Keys, then bind a key or mouse button to Wendy's Menu. Hover over any card (won't work on decks) then press the bound key. Right-click seal/release options will be added to the card.\n\n---Other Notes---\n\nOnly use ONE token manager at a time\nTokens are limited to 10 of each type in play\nBless and curse tokens should be in the chaos bag before trying to REMOVE or TAKE them\nEach action logs a message which ends with (# in bag/# taken); hit enter to view log\n**WARNING**: Tracking # of tokens in bag and in play will NOT persist between saves\n\r", - "color": "Grey", - "visibleColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "id": 9 - } - }, - "MusicPlayer": { - "RepeatSong": false, - "PlaylistEntry": 0, - "CurrentAudioTitle": "Laudanum - Atrium Carceri: Black Corner Den", - "CurrentAudioURL": "http://cloud-3.steamusercontent.com/ugc/784110538847453001/4481D1CC5684FCF04AB143954DEFE09E94BF5CEB/", - "AudioLibrary": [ - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847453001/4481D1CC5684FCF04AB143954DEFE09E94BF5CEB/", - "Item2": "Laudanum - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847453925/A083A3784DAC15D75513F92C54642D58B05FA996/", - "Item2": "Prepare the Stage of Night - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847448789/4E04CB9EBECDF5BEA8EF1B146ACAB711D9AF5F0F/", - "Item2": "An Atrementous City - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847444523/8C8AE52CABE62CF84AEA1B9A6055C0C39375FCDB/", - "Item2": "A Deeper Dream - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847455056/0D6EAB8903C3B6E44CB2F3F2ACF34297F3757DC4/", - "Item2": "Wind-Up Orchestra - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847451936/3D8B9C473889956F22DF84285A5BA9ABBCEE4D8F/", - "Item2": "House of Tinctures - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538847450067/DC4A12A8E621CFE19BAB9AB6B6BD30C337B39B27/", - "Item2": "End of the Century - Atrium Carceri: Black Corner Den" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538843610156/990053307E71986B46045FF0EC8BFABBD6EBE7BF/", - "Item2": "Cthulhu - Cryo Chamber" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848438651/B87CFA9DAAB2DDF3ECCD714348B23498AFCC7804/", - "Item2": "Azathoth 1 - Cryo Chamber" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848445981/7CAE63540FD2C218DD5B85D53B391C6DE1D0D200/", - "Item2": "Azathoth 2 - Cryo Chamber" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848464736/632CB8C59B9E7B0979A40468E0F0AE2ACB1B6B21/", - "Item2": "Nyarlathotep 1 - Cryo Chamber" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848480793/17DC9A3323A5381B1DD7316C67F3F554FDC52B27/", - "Item2": "Nyarlathotep 2 - Cryo Chamber" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848485973/A65ABDA232410FB64FA0A4BD26431ACDF3E2D46A/", - "Item2": "Nyarlathotep 3 - Cryo Chamber" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848530903/E08BB3474D49477CAA9B78D3A8AA54FDC757B351/", - "Item2": "The Gargantuan Tower - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848530379/F1C98200F021A2471E5575DE934C62C927A8FFA4/", - "Item2": "The Dark Mother - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848526667/76C6786A4A463EF6A7E43DE6C407246A8ED5D6F6/", - "Item2": "Across the Sea of the Dead - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848527228/A96DC0E3ED5C000807E8C8600BA52F9282FE35EB/", - "Item2": "Black Needle - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848527836/48245BF2494C1865834A412BC7E591EA04F3A919/", - "Item2": "Decrepit City - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848529472/D4C99D8D6C0E16AB561FA6C190B18E96D808DE8B/", - "Item2": "Sacred Slab - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848525938/26EC4322860F6AE86A1EADBED45E91C6E6F599B0/", - "Item2": "200 Days - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848528926/CC697AF9346939B202B65F863B641DC562039E0F/", - "Item2": "Industrial District - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848528271/E2BA3FB96D587B12148FE05FEA5E4E5C886CAA43/", - "Item2": "Heart of the Metropolis - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848529861/BC675583A20F58532A065945588D352295AFDDB9/", - "Item2": "The Cowled Seers - Atrium Carceri: Metropolis" - }, - { - "Item1": "http://cloud-3.steamusercontent.com/ugc/784110538848531283/612B88F51901DE770452542640D1F89C9604BDBF/", - "Item2": "The Machine - Atrium Carceri: Metropolis" - } - ] - }, - "Grid": { - "Type": 0, - "Lines": false, - "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "Opacity": 0.75, - "ThickLines": false, - "Snapping": false, - "Offset": false, - "BothSnapping": false, - "xSize": 2.0, - "ySize": 2.0, - "PosOffset": { - "x": 0.0, - "y": 1.0, - "z": 0.0 - } - }, - "Lighting": { - "LightIntensity": 0.54, - "LightColor": { - "r": 1.0, - "g": 0.9804, - "b": 0.8902 - }, - "AmbientIntensity": 1.3, - "AmbientType": 0, - "AmbientSkyColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "AmbientEquatorColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "AmbientGroundColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5 - }, - "ReflectionIntensity": 1.0, - "LutIndex": 0, - "LutContribution": 1.0 - }, - "Hands": { - "Enable": true, - "DisableUnused": false, - "Hiding": 0 - }, - "ComponentTags": { - "labels": [ - { - "displayed": "import_configuration_provider", - "normalized": "import_configuration_provider" - }, - { - "displayed": "AllCardsHotfix", - "normalized": "allcardshotfix" - }, - { - "displayed": "LinkedPhaseTracker", - "normalized": "linkedphasetracker" - }, - { - "displayed": "chaosBag", - "normalized": "chaosBag" - }, - { - "displayed": "displacement_excluded", - "normalized": "displacement_excluded" - }, - { - "displayed": "PlayerCard", - "normalized": "playercard" - }, - { - "displayed": "CleanUpHelper_ignore", - "normalized": "cleanuphelper_ignore" - }, - { - "displayed": "Asset", - "normalized": "asset" - }, - { - "displayed": "ScenarioCard", - "normalized": "scenariocard" - }, - { - "displayed": "Location", - "normalized": "location" - }, - { - "displayed": "tempToken", - "normalized": "temptoken" - }, - { - "displayed": "Minicard", - "normalized": "minicard" - }, - { - "displayed": "DoomCounter_ignore", - "normalized": "doomcounter_ignore" - }, - { - "displayed": "Investigator", - "normalized": "investigator" - }, - { - "displayed": "chaosBag", - "normalized": "chaosbag" - }, - { - "displayed": "arkham_setup_memory_object", - "normalized": "arkham_setup_memory_object" - }, - { - "displayed": "ActionToken", - "normalized": "actiontoken" - }, - { - "displayed": "LargeBox", - "normalized": "largebox" - }, - { - "displayed": "SoundCube", - "normalized": "soundcube" - }, - { - "displayed": "CampaignBox", - "normalized": "campaignbox" - }, - { - "displayed": "CameraZoom_ignore", - "normalized": "camerazoom_ignore" - }, - { - "displayed": "TokenArranger", - "normalized": "tokenarranger" - } - ] - }, - "Turns": { - "Enable": false, - "Type": 0, - "TurnOrder": [], - "Reverse": false, - "SkipEmpty": false, - "DisableInteractions": false, - "PassTurns": true, - "TurnColor": "" - }, - "CameraStates": [ - { - "Position": { - "x": -22.2649822, - "y": -2.5, - "z": 5.25747156 - }, - "Rotation": { - "x": 64.34372, - "y": 90.3332, - "z": 0.0 - }, - "Distance": 104.699272, - "Zoomed": false, - "AbsolutePosition": { - "x": -67.59604, - "y": 91.87675, - "z": 5.521103 - } - }, - { - "Position": { - "x": -6.36408234, - "y": -2.5, - "z": -9.483223E-07 - }, - "Rotation": { - "x": 64.99999, - "y": 89.99999, - "z": 0.0 - }, - "Distance": 97.85165, - "Zoomed": false, - "AbsolutePosition": { - "x": -47.7179832, - "y": 86.18371, - "z": -6.780735E-06 - } - }, - null, - null, - null, - null, - null, - null, - null, - null - ], - "DecalPallet": [ - { - "Name": "Achivement Checkmark", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1474319121424323663/BC5570ECF747F1B30224461B576E8B0FE7FA5F33/", - "Size": 0.1 - }, - { - "Name": "Victory Display", - "ImageURL": "https://i.imgur.com/saWedQ0.png", - "Size": 15.0 - } - ], - "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(\"core/NavigationOverlayApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local NavigationOverlayApi = {}\r\n local HANDLER_GUID = \"797ede\"\r\n\r\n -- Copies the visibility for the Navigation overlay\r\n ---@param startColor String Color of the player to copy from\r\n ---@param targetColor String Color of the targeted player\r\n NavigationOverlayApi.copyVisibility = function(startColor, targetColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"copyVisibility\", {\r\n startColor = startColor,\r\n targetColor = targetColor\r\n })\r\n end\r\n\r\n -- Changes the Navigation Overlay view (\"Full View\" --> \"Play Areas\" --> \"Closed\" etc.)\r\n ---@param playerColor String Color of the player to update the visibility for\r\n NavigationOverlayApi.cycleVisibility = function(playerColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"cycleVisibility\", playerColor)\r\n end\r\n\r\n return NavigationOverlayApi\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"core/MythosAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local MythosAreaApi = {}\r\n local MYTHOS_AREA_GUID = \"9f334f\"\r\n\r\n -- returns the chaos token metadata (if provided through scenario reference card)\r\n MythosAreaApi.returnTokenData = function()\r\n return getObjectFromGUID(MYTHOS_AREA_GUID).call(\"returnTokenData\")\r\n end\r\n\r\n return MythosAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/Global\")\nend)\n__bundle_register(\"core/Global\", function(require, _LOADED, __bundle_register, __bundle_modules)\n---------------------------------------------------------\r\n-- general setup\r\n---------------------------------------------------------\r\n\r\nENCOUNTER_DECK_POS = {-3.93, 1, 5.76}\r\nENCOUNTER_DECK_DISCARD_POSITION = {-3.85, 1, 10.38}\r\n\r\n-- optionPanel data\r\noptionPanel = {}\r\n\r\n-- GUID of data helper\r\nDATA_HELPER_GUID = \"708279\"\r\n\r\n-- GUIDs that will not be interactable (e.g. parts of the table)\r\nlocal NOT_INTERACTABLE = {\r\n \"6161b4\", -- Decoration-Map\r\n \"721ba2\", -- PlayArea\r\n \"9f334f\", -- MythosArea\r\n \"463022\", -- Panel behind tentacle stand\r\n \"f182ee\", -- InvestigatorCount\r\n \"7bff34\", -- Tentacle stand\r\n \"8646eb\", -- horizontal border left\r\n \"75937e\", -- horizontal border right\r\n \"612072\", -- vertical border left\r\n \"975c39\", -- vertical border right\r\n}\r\n\r\nlocal chaosTokens = {}\r\nlocal chaosTokensLastMat = nil\r\nlocal IS_RESHUFFLING = false\r\nlocal bagSearchers = {}\r\nlocal MAT_COLORS = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\nlocal hideTitleSplashWaitFunctionId = nil\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal playAreaAPI = require(\"core/PlayAreaApi\")\r\nlocal soundCubeApi = require(\"core/SoundCubeApi\")\r\nlocal mythosAreaApi = require(\"core/MythosAreaApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal navigationOverlayApi = require(\"core/NavigationOverlayApi\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\n\r\n-- online functionality related variables\r\nlocal MOD_VERSION = \"3.2.0\"\r\nlocal SOURCE_REPO = 'https://raw.githubusercontent.com/chr1z93/loadable-objects/main'\r\nlocal library, requestObj, modMeta, notificationVisible\r\nlocal acknowledgedUpgradeVersions = {}\r\n\r\nlocal LANGUAGES = {\r\n { code = \"zh_CN\", name = \"简体中文\" },\r\n { code = \"zh_TW\", name = \"繁體中文\" },\r\n { code = \"de\", name = \"Deutsch\" },\r\n { code = \"en\", name = \"English\" },\r\n { code = \"es\", name = \"Español\" },\r\n { code = \"fr\", name = \"Français\" },\r\n { code = \"it\", name = \"Italiano\" }\r\n}\r\n\r\n---------------------------------------------------------\r\n-- data for tokens\r\n---------------------------------------------------------\r\n\r\nTOKEN_DATA = {\r\n damage = {image = \"http://cloud-3.steamusercontent.com/ugc/1758068501357115146/903D11AAE7BD5C254C8DC136E9202EE516289DEA/\", scale = {0.17, 0.17, 0.17}},\r\n horror = {image = \"http://cloud-3.steamusercontent.com/ugc/1758068501357163535/6D9E0756503664D65BDB384656AC6D4BD713F5FC/\", scale = {0.17, 0.17, 0.17}},\r\n resource = {image = \"http://cloud-3.steamusercontent.com/ugc/1758068501357192910/11DDDC7EF621320962FDCF3AE3211D5EDC3D1573/\", scale = {0.17, 0.17, 0.17}},\r\n doom = {image = \"https://i.imgur.com/EoL7yaZ.png\", scale = {0.17, 0.17, 0.17}},\r\n clue = {image = \"http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/\", scale = {0.15, 0.15, 0.15}}\r\n}\r\n\r\nID_URL_MAP = {\r\n ['blue'] = {name = \"Elder Sign\", url = 'https://i.imgur.com/nEmqjmj.png'},\r\n ['p1'] = {name = \"+1\", url = 'https://i.imgur.com/uIx8jbY.png'},\r\n ['0'] = {name = \"0\", url = 'https://i.imgur.com/btEtVfd.png'},\r\n ['m1'] = {name = \"-1\", url = 'https://i.imgur.com/w3XbrCC.png'},\r\n ['m2'] = {name = \"-2\", url = 'https://i.imgur.com/bfTg2hb.png'},\r\n ['m3'] = {name = \"-3\", url = 'https://i.imgur.com/yfs8gHq.png'},\r\n ['m4'] = {name = \"-4\", url = 'https://i.imgur.com/qrgGQRD.png'},\r\n ['m5'] = {name = \"-5\", url = 'https://i.imgur.com/3Ym1IeG.png'},\r\n ['m6'] = {name = \"-6\", url = 'https://i.imgur.com/c9qdSzS.png'},\r\n ['m7'] = {name = \"-7\", url = 'https://i.imgur.com/4WRD42n.png'},\r\n ['m8'] = {name = \"-8\", url = 'https://i.imgur.com/9t3rPTQ.png'},\r\n ['skull'] = {name = \"Skull\", url = 'https://i.imgur.com/stbBxtx.png'},\r\n ['cultist'] = {name = \"Cultist\", url = 'https://i.imgur.com/VzhJJaH.png'},\r\n ['tablet'] = {name = \"Tablet\", url = 'https://i.imgur.com/1plY463.png'},\r\n ['elder'] = {name = \"Elder Thing\", url = 'https://i.imgur.com/ttnspKt.png'},\r\n ['red'] = {name = \"Auto-fail\", url = 'https://i.imgur.com/lns4fhz.png'},\r\n ['bless'] = {name = \"Bless\", url = 'http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/'},\r\n ['curse'] = {name = \"Curse\", url = 'http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/'},\r\n\t['frost'] = {name = \"Frost\", url = 'http://cloud-3.steamusercontent.com/ugc/1858293462583104677/195F93C063A8881B805CE2FD4767A9718B27B6AE/'}\r\n}\r\n\r\n---------------------------------------------------------\r\n-- data for chaos token stat tracker\r\n---------------------------------------------------------\r\n\r\nlocal MAT_GUID_TO_COLOR = {\r\n [\"Overall\"] = \"Overall\",\r\n [\"8b081b\"] = \"White\",\r\n [\"bd0ff4\"] = \"Orange\",\r\n [\"383d8b\"] = \"Green\",\r\n [\"0840d5\"] = \"Red\"\r\n}\r\n\r\nlocal tokenDrawingStats = {\r\n [\"Overall\"] = {},\r\n [\"8b081b\"] = {},\r\n [\"bd0ff4\"] = {},\r\n [\"383d8b\"] = {},\r\n [\"0840d5\"] = {}\r\n}\r\n\r\n---------------------------------------------------------\r\n-- general code\r\n---------------------------------------------------------\r\n\r\n-- saving state of optionPanel to restore later\r\nfunction onSave() return JSON.encode({ optionPanel = optionPanel, acknowledgedUpgradeVersions = acknowledgedUpgradeVersions }) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData then\r\n loadedData = JSON.decode(savedData)\r\n optionPanel = loadedData.optionPanel\r\n acknowledgedUpgradeVersions = loadedData.acknowledgedUpgradeVersions\r\n updateOptionPanelState()\r\n else\r\n print(\"Saved state could not be found!\")\r\n end\r\n\r\n for _, guid in ipairs(NOT_INTERACTABLE) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.interactable = false end\r\n end\r\n\r\n resetChaosTokenStatTracker()\r\n getModVersion()\r\n math.randomseed(os.time())\r\nend\r\n\r\n---------------------------------------------------------\r\n-- encounter card drawing\r\n---------------------------------------------------------\r\n\r\nfunction isDeck(x) return x.tag == 'Deck' end\r\n\r\nfunction isCardOrDeck(x) return x.tag == 'Card' or x.tag == 'Deck' end\r\n\r\n-- Event hook for any object search. When chaos tokens are manipulated while the chaos bag\r\n-- container is being searched, a TTS bug can cause tokens to duplicate or vanish. We lock the\r\n-- chaos bag during search operations to avoid this.\r\nfunction onObjectSearchStart(object, playerColor)\r\n chaosbag = findChaosBag()\r\n if object == chaosbag then\r\n bagSearchers[playerColor] = true\r\n end\r\nend\r\n\r\n-- Event hook for any object search. When chaos tokens are manipulated while the chaos bag\r\n-- container is being searched, a TTS bug can cause tokens to duplicate or vanish. We lock the\r\n-- chaos bag during search operations to avoid this.\r\nfunction onObjectSearchEnd(object, playerColor)\r\n chaosbag = findChaosBag()\r\n if object == chaosbag then\r\n bagSearchers[playerColor] = nil\r\n end\r\nend\r\n\r\n-- Pass object enter container events to the PlayArea to clear vector lines from dragged cards.\r\n-- This requires the try method as cards won't exist any more after they enter a deck, so the lines\r\n-- can't be cleared.\r\nfunction tryObjectEnterContainer(container, object)\r\n playAreaAPI.tryObjectEnterContainer(container, object)\r\n return true\r\nend\r\n\r\nfunction drawEncountercard(params)\r\n local position = params[1]\r\n local rotation = params[2]\r\n local alwaysFaceUp = params[3]\r\n local card\r\n local items = findInRadiusBy(ENCOUNTER_DECK_POS, 4, isCardOrDeck)\r\n if #items > 0 then\r\n for _, v in ipairs(items) do\r\n if v.tag == 'Deck' then\r\n card = v.takeObject({index = 0})\r\n break\r\n end\r\n end\r\n -- we didn't find the deck so just pull the first thing we did find\r\n if card == nil then card = items[1] end\r\n actualEncounterCardDraw(card, params)\r\n else\r\n -- nothing here, time to reshuffle\r\n reshuffleEncounterDeck(params)\r\n end\r\nend\r\n\r\nfunction actualEncounterCardDraw(card, params)\r\n local position = params[1]\r\n local rotation = params[2]\r\n local alwaysFaceUp = params[3]\r\n local faceUpRotation = 0\r\n if not alwaysFaceUp then\r\n local metadata = JSON.decode(card.getGMNotes()) or {}\r\n if metadata.hidden or getObjectFromGUID(DATA_HELPER_GUID).call('checkHiddenCard', card.getName()) then\r\n faceUpRotation = 180\r\n end\r\n end\r\n card.setPositionSmooth(position, false, false)\r\n card.setRotationSmooth({0, rotation.y, faceUpRotation}, false, false)\r\nend\r\n\r\nfunction reshuffleEncounterDeck(params)\r\n -- finishes moving the deck back and draws a card\r\n local function move(deck)\r\n deck.setPositionSmooth({ENCOUNTER_DECK_POS[1], ENCOUNTER_DECK_POS[2] + 2, ENCOUNTER_DECK_POS[3]}, false, true)\r\n actualEncounterCardDraw(deck.takeObject({index=0}), params)\r\n Wait.time(function() IS_RESHUFFLING = false end, 1)\r\n end\r\n -- bail out if we're mid reshuffle\r\n if IS_RESHUFFLING then return end\r\n local discarded = findInRadiusBy(ENCOUNTER_DECK_DISCARD_POSITION, 4, isDeck)\r\n if #discarded > 0 then\r\n IS_RESHUFFLING = true\r\n local deck = discarded[1]\r\n if not deck.is_face_down then deck.flip() end\r\n deck.shuffle()\r\n Wait.time(|| move(deck), 0.3)\r\n else\r\n printToAll(\"Couldn't find encounter discard pile to reshuffle.\", {1, 0, 0})\r\n end\r\nend\r\n\r\nfunction findInRadiusBy(pos, radius, filter)\r\n local objList = Physics.cast({\r\n origin = pos,\r\n direction = {0, 1, 0},\r\n type = 2,\r\n size = {radius, radius, radius},\r\n max_distance = 0\r\n })\r\n\r\n local filteredList = {}\r\n for _, obj in ipairs(objList) do\r\n if filter and filter(obj.hit_object) then\r\n table.insert(filteredList, obj.hit_object)\r\n end\r\n end\r\n return filteredList\r\nend\r\n\r\n---------------------------------------------------------\r\n-- chaos token drawing\r\n---------------------------------------------------------\r\n\r\n-- checks scripting zone for chaos bag (also called by a lot of objects!)\r\nfunction findChaosBag()\r\n local chaosbag_zone = getObjectFromGUID(\"83ef06\")\r\n\r\n -- error handling: scripting zone not found\r\n if chaosbag_zone == nil then\r\n printToAll(\"Zone for chaos bag detection couldn't be found.\", \"Red\")\r\n return\r\n end\r\n\r\n for _, item in ipairs(chaosbag_zone.getObjects()) do\r\n if item.getDescription() == \"Chaos Bag\" then\r\n return item\r\n end\r\n end\r\n\r\n -- error handling: chaos bag not found\r\n printToAll(\"Chaos bag couldn't be found.\", \"Red\")\r\nend\r\n\r\nfunction returnChaosTokens()\r\n for _, token in pairs(chaosTokens) do\r\n if token ~= nil then chaosbag.putObject(token) end\r\n end\r\n chaosTokens = {}\r\nend\r\n\r\n-- Checks to see if the chaos bag can be manipulated. If a player is searching the bag when tokens\r\n-- are drawn or replaced a TTS bug can cause those tokens to vanish. Any functions which change the\r\n-- contents of the bag should check this method before doing so.\r\n-- This method will broadcast a message to all players if the bag is being searched.\r\n---@return Boolean. True if the bag is manipulated, false if it should be blocked.\r\nfunction canTouchChaosTokens()\r\n for color, searching in pairs(bagSearchers) do\r\n if searching then\r\n broadcastToAll(\"Someone is searching the chaos bag, can't touch the tokens.\", \"Red\")\r\n return false\r\n end\r\n end\r\n return true\r\nend\r\n\r\n-- called by playermats (by the \"Draw chaos token\" button)\r\nfunction drawChaosToken(params)\r\n if not canTouchChaosTokens() then return end\r\n\r\n local mat = params[1]\r\n local tokenOffset = params[2]\r\n local isRightClick = params[3]\r\n chaosbag = findChaosBag()\r\n\r\n -- return token(s) on other playmat first\r\n if chaosTokensLastMat ~= nil and chaosTokensLastMat ~= mat and #chaosTokens ~= 0 then\r\n returnChaosTokens()\r\n chaosTokensLastMat = nil\r\n return\r\n end\r\n\r\n chaosTokensLastMat = mat\r\n\r\n -- if we have left clicked and have no tokens OR if we have right clicked\r\n if isRightClick or #chaosTokens == 0 then\r\n if #chaosbag.getObjects() == 0 then return end\r\n chaosbag.shuffle()\r\n\r\n -- add the token to the list, compute new position based on list length\r\n tokenOffset[1] = tokenOffset[1] + (0.17 * #chaosTokens)\r\n local token = chaosbag.takeObject({\r\n index = 0,\r\n position = mat.positionToWorld(tokenOffset),\r\n rotation = mat.getRotation()\r\n })\r\n\r\n -- get data for token description\r\n local name = token.getName()\r\n local tokenData = mythosAreaApi.returnTokenData().tokenData or {}\r\n local specificData = tokenData[name] or {}\r\n token.setDescription(specificData.description or \"\")\r\n\r\n -- track the chaos token (for stat tracker and future returning)\r\n trackChaosToken(name, mat.getGUID())\r\n chaosTokens[#chaosTokens + 1] = token\r\n return\r\n else\r\n returnChaosTokens()\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- token spawning\r\n---------------------------------------------------------\r\n\r\n-- DEPRECATED. Use TokenManager instead.\r\n-- Spawns a single token.\r\n---@param params Table. Array with arguments to the method. 1 = position, 2 = type, 3 = rotation\r\nfunction spawnToken(params)\r\n return tokenManager.spawnToken(params[1], params[2], params[3])\r\nend\r\n\r\n---------------------------------------------------------\r\n-- chaos token stat tracker\r\n---------------------------------------------------------\r\n\r\nfunction trackChaosToken(tokenName, matGUID)\r\n tokenDrawingStats[\"Overall\"][tokenName] = (tokenDrawingStats[\"Overall\"][tokenName] or 0) + 1\r\n tokenDrawingStats[matGUID][tokenName] = (tokenDrawingStats[matGUID][tokenName] or 0) + 1\r\nend\r\n\r\n-- Left-click: print stats, Right-click: reset stats\r\nfunction handleStatTrackerClick(_, _, isRightClick)\r\n if isRightClick then\r\n resetChaosTokenStatTracker()\r\n else\r\n local squidKing = \"Nobody\"\r\n local maxSquid = 0\r\n local foundAnyStats = false\r\n\r\n for key, personalStats in pairs(tokenDrawingStats) do\r\n local playerColor, playerName\r\n\r\n if key == \"Overall\" then\r\n playerColor = \"White\"\r\n playerName = \"Overall\"\r\n else\r\n playerColor = playmatApi.getPlayerColor(MAT_GUID_TO_COLOR[key])\r\n playerName = Player[playerColor].steam_name or playerColor\r\n\r\n local playerSquidCount = personalStats[\"Auto-fail\"]\r\n if playerSquidCount > maxSquid then\r\n squidKing = playerName\r\n maxSquid = playerSquidCount\r\n end\r\n end\r\n\r\n -- get the total count of drawn tokens for the player\r\n local totalCount = 0\r\n for tokenName, value in pairs(personalStats) do\r\n totalCount = totalCount + value\r\n end\r\n\r\n -- only print the personal stats if any tokens were drawn\r\n if totalCount > 0 then\r\n foundAnyStats = true\r\n printToAll(\"------------------------------\")\r\n printToAll(playerName .. \" Stats\", playerColor)\r\n \r\n for tokenName, value in pairs(personalStats) do\r\n if value ~= 0 then\r\n printToAll(tokenName .. ': ' .. tostring(value))\r\n end\r\n end\r\n printToAll('Total: ' .. tostring(totalCount))\r\n end\r\n end\r\n\r\n -- detect if any player drew tokens\r\n if foundAnyStats then\r\n printToAll(\"------------------------------\")\r\n printToAll(squidKing .. \" is an auto-fail magnet.\", {255, 0, 0})\r\n else\r\n printToAll(\"No tokens have been drawn yet.\", \"Yellow\")\r\n end\r\n end\r\nend\r\n\r\n-- resets the count for each token to 0\r\nfunction resetChaosTokenStatTracker()\r\n for key, _ in pairs(tokenDrawingStats) do\r\n tokenDrawingStats[key] = {}\r\n for _, token in pairs(ID_URL_MAP) do\r\n tokenDrawingStats[key][token.name] = 0\r\n end\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Difficulty selector script\r\n---------------------------------------------------------\r\n\r\n-- called for button creation on the difficulty selectors\r\n---@param object object Usually \"self\"\r\n---@param key string Name of the scenario\r\nfunction createSetupButtons(args)\r\n local data = getDataValue('modeData', args.key)\r\n if data ~= nil then\r\n local buttonParameters = {}\r\n buttonParameters.function_owner = args.object\r\n buttonParameters.position = {0, 0.1, -0.15}\r\n buttonParameters.scale = {0.47, 1, 0.47}\r\n buttonParameters.height = 200\r\n buttonParameters.width = 1150\r\n buttonParameters.color = {0.87, 0.8, 0.7}\r\n\r\n if data.easy ~= nil then\r\n buttonParameters.label = \"Easy\"\r\n buttonParameters.click_function = \"easyClick\"\r\n args.object.createButton(buttonParameters)\r\n buttonParameters.position[3] = buttonParameters.position[3] + 0.20\r\n end\r\n\r\n if data.normal ~= nil then\r\n buttonParameters.label = \"Standard\"\r\n buttonParameters.click_function = \"normalClick\"\r\n args.object.createButton(buttonParameters)\r\n buttonParameters.position[3] = buttonParameters.position[3] + 0.20\r\n end\r\n\r\n if data.hard ~= nil then\r\n buttonParameters.label = \"Hard\"\r\n buttonParameters.click_function = \"hardClick\"\r\n args.object.createButton(buttonParameters)\r\n buttonParameters.position[3] = buttonParameters.position[3] + 0.20\r\n end\r\n\r\n if data.expert ~= nil then\r\n buttonParameters.label = \"Expert\"\r\n buttonParameters.click_function = \"expertClick\"\r\n args.object.createButton(buttonParameters)\r\n buttonParameters.position[3] = buttonParameters.position[3] + 0.20\r\n end\r\n\r\n if data.standalone ~= nil then\r\n buttonParameters.label = \"Standalone\"\r\n buttonParameters.click_function = \"standaloneClick\"\r\n args.object.createButton(buttonParameters)\r\n end\r\n end\r\nend\r\n\r\n-- called for adding chaos tokens\r\n---@param object object Usually \"self\"\r\n---@param key string Name of the scenario\r\n---@param mode string difficulty (e.g. \"hard\" or \"expert\")\r\nfunction fillContainer(args)\r\n local data = getDataValue('modeData', args.key)\r\n if data == nil then return end\r\n\r\n local value = data[args.mode]\r\n if value == nil or value.token == nil then return end\r\n\r\n local tokenList = {}\r\n\r\n for _, tokenId in ipairs(value.token) do\r\n table.insert(tokenList, tokenId)\r\n end\r\n\r\n if value.append ~= nil then\r\n for _, tokenId in ipairs(value.append) do\r\n table.insert(tokenList, tokenId)\r\n end\r\n end\r\n\r\n -- randomly choose tokens for specific Carcosa scenarios in standalone\r\n if value.random then\r\n local n = #value.random\r\n if n > 0 then\r\n for _, tokenId in ipairs(value.random[math.random(1, n)]) do\r\n table.insert(tokenList, tokenId)\r\n end\r\n end\r\n end\r\n\r\n setChaosBagState(tokenList)\r\n\r\n if value.message then\r\n broadcastToAll(value.message)\r\n end\r\n\r\n if value.warning then\r\n broadcastToAll(value.warning, { 1, 0.5, 0.5 })\r\n end\r\nend\r\n\r\nfunction getDataValue(storage, key)\r\n local data = getObjectFromGUID(DATA_HELPER_GUID).getTable(storage)\r\n if data ~= nil then\r\n local value = data[key]\r\n if value ~= nil then\r\n local res = {}\r\n for m, v in pairs(value) do\r\n res[m] = v\r\n if res[m].parent ~= nil then\r\n local parentData = getDataValue(storage, res[m].parent)\r\n if parentData ~= nil and parentData[m] ~= nil and parentData[m].token ~= nil then\r\n res[m].token = parentData[m].token\r\n end\r\n res[m].parent = nil\r\n end\r\n end\r\n return res\r\n end\r\n end\r\nend\r\n\r\nfunction createChaosTokenNameLookupTable()\r\n local namesToIds = {}\r\n for k, v in pairs(ID_URL_MAP) do\r\n namesToIds[v.name] = k\r\n end\r\n return namesToIds\r\nend\r\n\r\n-- returns a Table List of chaos token ids in the current chaos bag\r\n---@api chaosbag/ChaosBagApi\r\nfunction getChaosBagState()\r\n local tokens = {}\r\n local invertedTable = createChaosTokenNameLookupTable()\r\n local chaosbag = findChaosBag()\r\n\r\n for _, v in ipairs(chaosbag.getObjects()) do\r\n local id = invertedTable[v.name]\r\n if id then\r\n table.insert(tokens, id)\r\n else\r\n printToAll(v.name .. \" token not recognized. Will not be recorded.\", \"Yellow\")\r\n end\r\n end\r\n\r\n return tokens\r\n\r\nend\r\n\r\n-- respawns the chaos bag with a new state of tokens\r\n---@param tokenList Table List of chaos token ids\r\n---@api chaosbag/ChaosBagApi\r\nfunction setChaosBagState(tokenList)\r\n if not canTouchChaosTokens() then return end\r\n\r\n local chaosbag = findChaosBag()\r\n local chaosbagData = chaosbag.getData()\r\n local reserveData = getObjectFromGUID(\"106418\").getData()\r\n local tokenCache = {}\r\n local containedObjects = {}\r\n\r\n -- create a temporary copy of the data for each chaos token\r\n for _, objData in ipairs(reserveData.ContainedObjects) do\r\n tokenCache[objData.Nickname] = objData\r\n end\r\n\r\n -- iterate over tokenlist and insert specified tokens into new table\r\n for _, tokenId in ipairs(tokenList) do\r\n local tokenName = ID_URL_MAP[tokenId].name\r\n table.insert(containedObjects, tokenCache[tokenName])\r\n end\r\n\r\n -- overwrite chaos bag content and respawn it\r\n chaosbagData.ContainedObjects = containedObjects\r\n chaosbag.destruct()\r\n spawnObjectData({data = chaosbagData})\r\n\r\n -- remove tokens that are still in play\r\n for _, token in pairs(chaosTokens) do\r\n if token ~= nil then token.destruct() end\r\n end\r\n chaosTokens = {}\r\n chaosTokensLastMat = nil\r\n\r\n -- reset bless / curse manager\r\n blessCurseManagerApi.removeTakenTokensAndReset()\r\n\r\n printToAll(\"Chaos bag set to chosen difficulty.\", \"Green\")\r\nend\r\n\r\n-- spawns the specified chaos token and puts it into the chaos bag\r\n---@param id String ID of the chaos token\r\nfunction spawnChaosToken(id)\r\n if not canTouchChaosTokens() then return end\r\n\r\n id = id:lower()\r\n local chaosbag = findChaosBag()\r\n local url = ID_URL_MAP[id].url or \"\"\r\n\r\n if url ~= \"\" then\r\n return spawnObject({\r\n type = 'Custom_Tile',\r\n position = { 0.49, 3, 0 },\r\n scale = { 0.81, 1.0, 0.81 },\r\n rotation = {0, 270, 0},\r\n callback_function = function(obj)\r\n obj.setName(ID_URL_MAP[id].name)\r\n chaosbag.putObject(obj)\r\n tokenArrangerApi.layout()\r\n end\r\n }).setCustomObject({\r\n type = 2,\r\n image = url,\r\n thickness = 0.1\r\n })\r\n end\r\nend\r\n\r\n-- removes the specified chaos token from the chaos bag\r\n---@param id String ID of the chaos token\r\nfunction removeChaosToken(id)\r\n if not canTouchChaosTokens() then return end\r\n\r\n local tokens = {}\r\n local chaosbag = findChaosBag()\r\n local name = ID_URL_MAP[id].name\r\n\r\n for _, v in ipairs(chaosbag.getObjects()) do\r\n if v.name == name then table.insert(tokens, v.guid) end\r\n end\r\n\r\n -- error handling: no matching token found\r\n if #tokens == 0 then\r\n printToAll(\"No \" .. name .. \" tokens in the chaos bag.\", \"Yellow\")\r\n return\r\n end\r\n\r\n chaosbag.takeObject({\r\n guid = tokens[1],\r\n smooth = false,\r\n callback_function = function(obj)\r\n obj.destruct()\r\n tokenArrangerApi.layout()\r\n end\r\n })\r\n printToAll(\"Removing \" .. name .. \" token (in bag: \" .. #tokens - 1 .. \")\", \"White\")\r\nend\r\n\r\n-- empty the chaos bag\r\nfunction emptyChaosBag()\r\n if not canTouchChaosTokens() then return end\r\n\r\n local chaosbag = findChaosBag()\r\n for _, object in ipairs(chaosbag.getObjects()) do\r\n chaosbag.takeObject({callback_function = function(item) item.destruct() end})\r\n end\r\nend\r\n\r\n-- returns all sealed tokens on cards to the chaos bag\r\nfunction releaseAllSealedTokens(playerColor)\r\n local chaosbag = findChaosBag()\r\n for _, obj in ipairs(getObjectsWithTag(\"CardThatSeals\")) do\r\n obj.call(\"releaseAllTokens\", playerColor)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Content Importing and XML functions\r\n---------------------------------------------------------\r\n\r\nfunction onClick_refreshList()\r\n local request = WebRequest.get(SOURCE_REPO .. '/library.json', completed_list_update)\r\n requestObj = request\r\n startLuaCoroutine(Global, 'downloadCoroutine')\r\nend\r\n\r\nfunction onClick_select(player, params)\r\n params = JSON.decode(urldecode(params))\r\n local url = SOURCE_REPO .. '/' .. params.url\r\n local request = WebRequest.get(url, function (request) complete_obj_download(request, params) end )\r\n requestObj = request\r\n startLuaCoroutine(Global, 'downloadCoroutine')\r\nend\r\n\r\nfunction onClick_load()\r\n UI.show('progress_display')\r\n UI.hide('load_button')\r\nend\r\n\r\nfunction onClick_toggleUi(player, title)\r\n if title == \"Navigation Overlay\" then\r\n navigationOverlayApi.cycleVisibility(player.color)\r\n return\r\n end\r\n\r\n UI.hide('optionPanel')\r\n UI.hide('load_ui')\r\n\r\n -- when same button is clicked or close window button is pressed, don't open UI\r\n if UI.getValue('title') ~= title and title ~= 'Hidden' then\r\n UI.setValue('title', title)\r\n\r\n if title == \"Options\" then\r\n UI.show('optionPanel')\r\n else\r\n update_window_content(title)\r\n UI.show('load_ui')\r\n end\r\n else\r\n UI.setValue('title', \"Hidden\")\r\n end\r\nend\r\n\r\nfunction downloadCoroutine()\r\n while requestObj do\r\n UI.setAttribute('download_progress', 'percentage', requestObj.download_progress * 100)\r\n coroutine.yield(0)\r\n end\r\n return 1\r\nend\r\n\r\nfunction update_list(objects)\r\n local ui = UI.getXmlTable()\r\n local update_height = find_tag_with_id(ui, 'ui_update_height')\r\n local update_children = find_tag_with_id(update_height.children, 'ui_update_point')\r\n\r\n update_children.children = {}\r\n\r\n for _, v in ipairs(objects) do\r\n local s = JSON.encode(v);\r\n table.insert(update_children.children,\r\n { tag = 'Text',\r\n value = v.name,\r\n attributes = { onClick = 'onClick_select(' .. urlencode(JSON.encode(v)) .. ')', alignment = 'MiddleLeft' }\r\n })\r\n end\r\n\r\n update_height.attributes.height = #(update_children.children) * 24\r\n UI.setXmlTable(ui)\r\nend\r\n\r\nfunction update_window_content(new_title)\r\n if not library then return end\r\n\r\n if new_title == 'Campaigns' then\r\n update_list(library.campaigns)\r\n elseif new_title == 'Standalone Scenarios' then\r\n update_list(library.scenarios)\r\n elseif new_title == 'Investigators' then\r\n update_list(library.investigators)\r\n elseif new_title == 'Community Content' then\r\n update_list(library.community)\r\n elseif new_title == 'Extras' then\r\n update_list(library.extras)\r\n else\r\n update_list({})\r\n end\r\nend\r\n\r\nfunction complete_obj_download(request, params)\r\n assert(request.is_done)\r\n if request.is_error or request.response_code ~= 200 then\r\n print('error: ' .. request.error)\r\n else\r\n if pcall(function()\r\n local replaced_object\r\n pcall(function()\r\n if params.replace then\r\n replaced_object = getObjectFromGUID(params.replace)\r\n end\r\n end)\r\n local json = request.text\r\n if replaced_object then\r\n local pos = replaced_object.getPosition()\r\n local rot = replaced_object.getRotation()\r\n destroyObject(replaced_object)\r\n Wait.frames(function()\r\n spawnObjectJSON({json = json, position = pos, rotation = rot})\r\n end, 1)\r\n else\r\n spawnObjectJSON({json = json})\r\n end\r\n end) then\r\n print('Object loaded.')\r\n else\r\n print('Error loading object.')\r\n end\r\n end\r\n\r\n requestObj = nil\r\n UI.setAttribute('download_progress', 'percentage', 100)\r\nend\r\n\r\n-- the download button on the placeholder objects calls this to directly initiate a download\r\n-- params is a table with url and guid of replacement object, which happens to match what onClick_select wants\r\nfunction placeholder_download(params)\r\n onClick_select(nil, JSON.encode(params))\r\nend\r\n\r\nfunction completed_list_update(request)\r\n assert(request.is_done)\r\n if request.is_error or request.response_code ~= 200 then\r\n print('error: ' .. request.error)\r\n else\r\n local json_response = nil\r\n if pcall(function () json_response = JSON.decode(request.text) end) then\r\n library = json_response\r\n update_window_content(UI.getValue('title'))\r\n else\r\n print('error parsing downloaded library')\r\n end\r\n end\r\n\r\n requestObj = nil\r\n UI.setAttribute('download_progress', 'percentage', 100)\r\nend\r\n\r\nfunction find_tag_with_id(ui, id)\r\n for _, obj in ipairs(ui) do\r\n if obj.attributes and obj.attributes.id and obj.attributes.id == id then return obj end\r\n if obj.children then\r\n local result = find_tag_with_id(obj.children, id)\r\n if result then return result end\r\n end\r\n end\r\n return nil\r\nend\r\n\r\nfunction urlencode(str)\r\n local str = string.gsub(str, \"([^A-Za-z0-9-_.~])\",\r\n function (c) return string.format(\"%%%02X\", string.byte(c)) end)\r\n return str\r\nend\r\n\r\nfunction urldecode(str)\r\n local str = string.gsub(str, \"%%(%x%x)\",\r\n function (h) return string.char(tonumber(h, 16)) end)\r\n return str\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Option Panel related functionality\r\n---------------------------------------------------------\r\n\r\n-- called by toggling an option\r\nfunction onClick_toggleOption(_, id)\r\n local state = self.UI.getAttribute(id, \"isOn\")\r\n\r\n -- flip state (and handle stupid \"False\" value)\r\n if state == \"False\" then\r\n state = true\r\n else\r\n state = false\r\n end\r\n\r\n self.UI.setAttribute(id, \"isOn\", state)\r\n applyOptionPanelChange(id, state)\r\nend\r\n\r\n-- called by the language selection dropdown\r\nfunction languageSelected(_, selectedIndex, id)\r\n optionPanel[id] = LANGUAGES[tonumber(selectedIndex) + 1].code\r\nend\r\n\r\n-- returns the ID (position in the table) for a provided language code\r\nfunction returnLanguageId(code)\r\n for index, tbl in ipairs(LANGUAGES) do\r\n if tbl.code == code then\r\n return index\r\n end\r\n end\r\nend\r\n\r\n-- sets the option panel to the correct state (corresponding to 'optionPanel')\r\nfunction updateOptionPanelState()\r\n for id, optionValue in pairs(optionPanel) do\r\n if id == \"cardLanguage\" and type(optionValue) == \"string\" then\r\n local dropdownId = returnLanguageId(optionValue) - 1\r\n UI.setAttribute(id, \"value\", dropdownId)\r\n elseif (type(optionValue) == \"boolean\" and optionValue)\r\n or (type(optionValue) == \"string\" and optionValue)\r\n or (type(optionValue) == \"table\" and #optionValue ~= 0) then\r\n UI.setAttribute(id, \"isOn\", true)\r\n else\r\n UI.setAttribute(id, \"isOn\", \"False\")\r\n end\r\n end\r\nend\r\n\r\n-- handles the applying of option selections and calls the respective functions based\r\n---@param id String ID of the option that was selected or deselected\r\n---@param state Boolean State of the option (true = enabled)\r\nfunction applyOptionPanelChange(id, state)\r\n -- option: Snap tags\r\n if id == \"useSnapTags\" then\r\n playmatApi.setLimitSnapsByType(state, \"All\")\r\n optionPanel[id] = state\r\n\r\n -- option: Draw 1 button\r\n elseif id == \"showDrawButton\" then\r\n playmatApi.showDrawButton(state, \"All\")\r\n optionPanel[id] = state\r\n\r\n -- option: Clickable clue counters\r\n elseif id == \"useClueClickers\" then\r\n playmatApi.clickableClues(state, \"All\")\r\n optionPanel[id] = state\r\n\r\n -- update master clue counter\r\n getObjectFromGUID(\"4a3aa4\").setVar(\"useClickableCounters\", state)\r\n\r\n -- option: Clickable resource counters\r\n elseif id == \"useResourceCounters\" then\r\n optionPanel[id] = state\r\n\r\n -- option: Play area snap tags\r\n elseif id == \"playAreaSnapTags\" then\r\n playAreaAPI.setLimitSnapsByType(state)\r\n optionPanel[id] = state\r\n\r\n -- option: Show Title on placing scenarios\r\n elseif id == \"showTitleSplash\" then\r\n optionPanel[id] = state\r\n\r\n -- option: Show clean up helper\r\n elseif id == \"showCleanUpHelper\" then\r\n optionPanel[id] = spawnOrRemoveHelper(state, \"Clean Up Helper\", {-66, 1.6, 46})\r\n\r\n -- option: Show hand helper for each player\r\n elseif id == \"showHandHelper\" then\r\n for i, color in ipairs(MAT_COLORS) do\r\n local pos = playmatApi.transformLocalPosition({0.05, 0, -1.182}, color)\r\n local rot = playmatApi.returnRotation(color)\r\n optionPanel[id][i] = spawnOrRemoveHelper(state, \"Hand Helper\", pos, rot)\r\n end\r\n\r\n -- option: Show search assistant for each player\r\n elseif id == \"showSearchAssistant\" then\r\n for i, color in ipairs(MAT_COLORS) do\r\n local pos = playmatApi.transformLocalPosition({-0.3, 0, -1.182}, color)\r\n local rot = playmatApi.returnRotation(color)\r\n optionPanel[id][i] = spawnOrRemoveHelper(state, \"Search Assistant\", pos, rot)\r\n end\r\n\r\n -- option: Show attachment helper\r\n elseif id == \"showAttachmentHelper\" then\r\n optionPanel[id] = spawnOrRemoveHelper(state, \"Attachment Helper\", {-62, 1.4, 0})\r\n\r\n -- option: Show CYOA campaign guides\r\n elseif id == \"showCYOA\" then\r\n optionPanel[id] = spawnOrRemoveHelper(state, \"CYOA Campaign Guides\", {65, 1.6, -11})\r\n\r\n -- option: Show custom playmat images\r\n elseif id == \"showCustomPlaymatImages\" then\r\n optionPanel[id] = spawnOrRemoveHelper(state, \"Custom Playmat Images\", {67.5, 1.6, 37})\r\n\r\n -- option: Show displacement tool\r\n elseif id == \"showDisplacementTool\" then\r\n optionPanel[id] = spawnOrRemoveHelper(state, \"Displacement Tool\", {-57, 1.6, 46})\r\n end\r\nend\r\n\r\n-- handler for spawn / remove functions of helper objects\r\n---@param state Boolean Contains the state of the option: true = spawn it, false = remove it\r\n---@param name String Name of the helper object\r\n---@param position Vector Position of the object (where it will spawn)\r\n---@param rotation Vector Rotation of the object for spawning (default: {0, 270, 0})\r\n---@return. GUID of the spawnedObj (or nil if object was removed)\r\nfunction spawnOrRemoveHelper(state, name, position, rotation)\r\n if (type(state) == \"table\" and #state == 0) then\r\n return removeHelperObject(name)\r\n elseif state then\r\n Player.getPlayers()[1].pingTable(position)\r\n return spawnHelperObject(name, position, rotation).getGUID()\r\n else\r\n return removeHelperObject(name)\r\n end\r\nend\r\n\r\n-- copies the specified tool (by name) from the option panel source bag\r\n---@param name String Name of the object that should be copied\r\n---@param position Table Desired position of the object\r\nfunction spawnHelperObject(name, position, rotation)\r\n local sourceBag = getObjectFromGUID(\"830bd0\")\r\n\r\n -- error handling for missing sourceBag\r\n if not sourceBag then\r\n broadcastToAll(\"Option panel source bag could not be found!\", \"Red\")\r\n return\r\n end\r\n\r\n local spawnTable = {position = position}\r\n\r\n -- only overrride rotation if there is one provided (object's rotation used instead)\r\n if rotation then\r\n spawnTable.rotation = rotation\r\n end\r\n\r\n for _, obj in ipairs(sourceBag.getData().ContainedObjects) do\r\n if obj[\"Nickname\"] == name then\r\n spawnTable.data = obj\r\n spawnTable.callback_function = function(spawnedObj)\r\n Wait.time(function() spawnedObj.setLock(true) end, 2)\r\n end\r\n return spawnObjectData(spawnTable)\r\n end\r\n end\r\nend\r\n\r\n-- removes the specified tool (by name)\r\n---@param name String Object that should be removed\r\nfunction removeHelperObject(name)\r\n -- links objects name to the respective option name (to grab the GUID for removal)\r\n local referenceTable = {\r\n [\"Clean Up Helper\"] = \"showCleanUpHelper\",\r\n [\"Hand Helper\"] = \"showHandHelper\",\r\n [\"Search Assistant\"] = \"showSearchAssistant\",\r\n [\"Displacement Tool\"] = \"showDisplacementTool\",\r\n [\"Custom Playmat Images\"] = \"showCustomPlaymatImages\",\r\n [\"Attachment Helper\"] = \"showAttachmentHelper\",\r\n [\"CYOA Campaign Guides\"] = \"showCYOA\"\r\n }\r\n\r\n local data = optionPanel[referenceTable[name]]\r\n\r\n -- if there is a GUID stored, remove that object\r\n if type(data) == \"string\" then\r\n local obj = getObjectFromGUID(data)\r\n if obj then obj.destruct() end\r\n\r\n -- if it is a table (e.g. for the \"Hand Helper\", remove all of them)\r\n elseif type(data) == \"table\" then\r\n for _, guid in pairs(data) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj then obj.destruct() end\r\n end\r\n end\r\nend\r\n\r\n-- loads saved options\r\nfunction loadSettings(newOptions)\r\n optionPanel = newOptions\r\n updateOptionPanelState()\r\n for id, state in pairs(optionPanel) do\r\n applyOptionPanelChange(id, state)\r\n end\r\nend\r\n\r\n-- loads the default options\r\nfunction onClick_defaultSettings()\r\n for id, _ in pairs(optionPanel) do\r\n local state = false\r\n -- override for settings that are enabled by default\r\n if id == \"useSnapTags\" or id == \"showTitleSplash\" then\r\n state = true\r\n end\r\n applyOptionPanelChange(id, state)\r\n end\r\n\r\n -- clean reset of variable\r\n optionPanel = {\r\n playAreaSnapTags = true,\r\n showAttachmentHelper = false,\r\n showCleanUpHelper = false,\r\n showCustomPlaymatImages = false,\r\n showCYOA = false,\r\n showDisplacementTool = false,\r\n showDrawButton = false,\r\n showHandHelper = {},\r\n showSearchAssistant = {},\r\n showTitleSplash = true,\r\n useClueClickers = false,\r\n useSnapTags = true\r\n }\r\n\r\n -- update UI\r\n updateOptionPanelState()\r\nend\r\n\r\n-- splash scenario title on setup\r\nfunction titleSplash(scenarioName)\r\n if optionPanel['showTitleSplash'] then\r\n\r\n -- if there's any ongoing title being displayed, hide it and cancel the waiting function\r\n if hideTitleSplashWaitFunctionId then\r\n Wait.stop(hideTitleSplashWaitFunctionId)\r\n hideTitleSplashWaitFunctionId = nil\r\n UI.setAttribute('title_splash', 'active', false)\r\n end\r\n\r\n -- display scenario name and set a 4 seconds (2 seconds animation and 2 seconds on screen)\r\n -- wait timer to hide the scenario name\r\n UI.setValue('title_splash_text', scenarioName)\r\n UI.show('title_splash')\r\n hideTitleSplashWaitFunctionId = Wait.time(function()\r\n UI.hide('title_splash')\r\n hideTitleSplashWaitFunctionId = nil\r\n end, 4)\r\n\r\n soundCubeApi.playSoundByName(\"Deep Bell\")\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Update notification related functionality\r\n---------------------------------------------------------\r\n\r\n-- grabs the latest mod version and release notes from GitHub (called onLoad())\r\nfunction getModVersion()\r\n WebRequest.get(SOURCE_REPO .. '/modversion.json', compareVersion)\r\nend\r\n\r\n-- compares the modversion with GitHub and possibly shows the update notification\r\nfunction compareVersion(request)\r\n if request.is_error then\r\n log(request.error)\r\n return\r\n end\r\n\r\n -- global variable to make it accessible for other functions\r\n modMeta = JSON.decode(request.text)\r\n\r\n -- stop here if on latest version\r\n if MOD_VERSION == modMeta[\"latestVersion\"] then return end\r\n \r\n -- stop here if \"don't show again\" was clicked for this version before\r\n if acknowledgedUpgradeVersions[modMeta[\"latestVersion\"]] then return end\r\n\r\n updateNotificationLoading()\r\n\r\n -- delay to avoid lagging during onLoad()\r\n Wait.time(function() UI.show(\"FinnIcon\") end, 1)\r\nend\r\n\r\n-- updates the XML update notification based on the mod metadata\r\nfunction updateNotificationLoading()\r\n -- grab data\r\n local highlights = modMeta[\"releaseHighlights\"]\r\n\r\n -- concatenate the release highlights\r\n local highlightText = \"• \" .. highlights[1]\r\n for i, entry in pairs(highlights) do\r\n if i ~= 1 then\r\n highlightText = highlightText .. \"\\n• \" .. entry\r\n end\r\n end\r\n \r\n -- update the XML UI\r\n UI.setValue(\"notificationHeader\", \"New version available: \".. modMeta[\"latestVersion\"])\r\n UI.setValue(\"releaseHighlightText\", highlightText)\r\n UI.setAttribute(\"highlightRow\", \"preferredHeight\", 20*#highlights)\r\n UI.setAttribute(\"updateNotification\", \"height\", 20*#highlights + 125)\r\nend\r\n\r\n-- triggered by clicking on the Finn Icon\r\nfunction onClick_FinnIcon()\r\n if notificationVisible then\r\n UI.hide(\"updateNotification\")\r\n notificationVisible = false\r\n else\r\n UI.show(\"updateNotification\")\r\n notificationVisible = true\r\n end\r\nend\r\n\r\n-- close / don't show again buttons on the update notification\r\nfunction onClick_notification(_, parameter)\r\n if parameter == \"dontShowAgain\" then\r\n -- this variable tracks if \"don't show again\" was pressed for a version\r\n acknowledgedUpgradeVersions[modMeta[\"latestVersion\"]] = true\r\n end\r\n UI.hide(\"FinnIcon\")\r\n UI.hide(\"updateNotification\")\r\nend\r\nend)\n__bundle_register(\"core/SoundCubeApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local SoundCubeApi = {}\r\n local internal = {}\r\n\r\n -- this table links the name of a trigger effect to its index\r\n local soundIndices = {\r\n [\"Vacuum\"] = 0,\r\n [\"Deep Bell\"] = 1,\r\n [\"Dark Souls\"] = 2\r\n }\r\n\r\n internal.playTriggerEffect = function(index)\r\n getObjectsWithTag(\"SoundCube\")[1].AssetBundle.playTriggerEffect(index)\r\n end\r\n\r\n -- plays the by name requested sound\r\n ---@param soundName String Name of the sound to play\r\n SoundCubeApi.playSoundByName = function(soundName)\r\n internal.playTriggerEffect(soundIndices[soundName])\r\n end\r\n\r\n return SoundCubeApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"acknowledgedUpgradeVersions\":[],\"optionPanel\":{\"cardLanguage\":\"en\",\"playAreaSnapTags\":true,\"showAttachmentHelper\":false,\"showCleanUpHelper\":false,\"showCustomPlaymatImages\":false,\"showCYOA\":false,\"showDisplacementTool\":false,\"showDrawButton\":false,\"showHandHelper\":[],\"showSearchAssistant\":[],\"showTitleSplash\":true,\"useClueClickers\":false,\"useSnapTags\":true}}", - "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\n\r\n\r\n \r\n \r\n \r\n\r\n\n\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\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\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 Placeholder\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Placeholder\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Visit the usual place to receive this update.\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": [ - { - "Type": 0, - "Name": "refresh", - "URL": "http://cloud-3.steamusercontent.com/ugc/1695031152736214852/EC3BBEF1A1788381A8F4C5ACB7FB27770CAF03C5/" - }, - { - "Type": 0, - "Name": "close", - "URL": "http://cloud-3.steamusercontent.com/ugc/1695031152736214756/2EEB07E453A7ECF4BE5A1030A253185B37A7CDAB/" - }, - { - "Type": 0, - "Name": "cthulhu", - "URL": "http://cloud-3.steamusercontent.com/ugc/1782854877010107768/BC6A97F193385D01C1A9149B68923F55A284CB2D/" - }, - { - "Type": 0, - "Name": "dark-cult", - "URL": "http://cloud-3.steamusercontent.com/ugc/1782854877010108105/08594607341D6537C28A08A34CE82159025AB8DB/" - }, - { - "Type": 0, - "Name": "yog-sothoth", - "URL": "http://cloud-3.steamusercontent.com/ugc/1782854877010107124/D8042D1A1B08CFB7E76488B09216B4611D85A2B9/" - }, - { - "Type": 0, - "Name": "elder-sign", - "URL": "http://cloud-3.steamusercontent.com/ugc/1782854877010107442/43BC029410751208A90AE7FDEBCB587A0E9403D7/" - }, - { - "Type": 0, - "Name": "devourer", - "URL": "http://cloud-3.steamusercontent.com/ugc/1782854877010106784/6E00433E3425D0A7C6121E0DDB6A79167BA78569/" - }, - { - "Type": 0, - "Name": "OverlayLarge", - "URL": "http://cloud-3.steamusercontent.com/ugc/2038486957000838167/1EF958D11A228817099C310F97817F61F84DDD91/" - }, - { - "Type": 0, - "Name": "OverlaySmall", - "URL": "http://cloud-3.steamusercontent.com/ugc/2038486957000850722/37F0D4848BA08788F79DB2D3FB6D11429CB1F861/" - }, - { - "Type": 0, - "Name": "NavigationOverlayIcon", - "URL": "http://cloud-3.steamusercontent.com/ugc/2038485431576357223/9B834B6C40D02D2796C4027D52FFFDF2F1DFBAA5/" - }, - { - "Type": 0, - "Name": "option-gear", - "URL": "http://cloud-3.steamusercontent.com/ugc/2026086584372569912/5CB461AEAE2E59D3064D90A776EB86C46081EC78/" - }, - { - "Type": 1, - "Name": "font_birmingham", - "URL": "http://cloud-3.steamusercontent.com/ugc/2027213118466443497/3CF9BB9AF968D245961494CC9A151774EB9BA638/" - }, - { - "Type": 1, - "Name": "font_columbus", - "URL": "http://cloud-3.steamusercontent.com/ugc/2027213118466515872/F473E4ACC75ACB6CE07457C45290B4912E0B3286/" - }, - { - "Type": 1, - "Name": "font_oldremington", - "URL": "http://cloud-3.steamusercontent.com/ugc/2027213118466515932/AFCE53F1E1D9580D166F53AD9EB0D77A331D4A26/" - }, - { - "Type": 1, - "Name": "font_teutonic-arkham", - "URL": "http://cloud-3.steamusercontent.com/ugc/2027213118467703445/89328E273B4C5180BF491516CE998DE3C604E162/" - }, - { - "Type": 1, - "Name": "font_uglyqua", - "URL": "http://cloud-3.steamusercontent.com/ugc/2027213118466516005/113C19D37CFFA9E554394FD5B11B32967F846A62/" - }, - { - "Type": 1, - "Name": "font_chinese_fzlibian", - "URL": "http://cloud-3.steamusercontent.com/ugc/2028355502896482829/8DAB311590B97586309E66D795AC2C43D4913188/" - }, - { - "Type": 0, - "Name": "header_cover", - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977312342/0D22712378B1F9A5A1FC7DA40C355943C878DDC0/" - }, - { - "Type": 0, - "Name": "header_acolyte", - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977311773/B8B2021D42CFB084AFDCCA42EE6B9A57F3E30AC6/" - }, - { - "Type": 0, - "Name": "header_ruins", - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977312917/E24A34736C912186C7AC58270E3819B6A44B3EE8/" - }, - { - "Type": 0, - "Name": "header_olive", - "URL": "http://cloud-3.steamusercontent.com/ugc/5118935530977377198/4E88B41107A29D027D86E6B80D47B03617335990/" - }, - { - "Type": 0, - "Name": "option_on", - "URL": "http://cloud-3.steamusercontent.com/ugc/2024962321889555728/22ABD35CBB49A001F3A5318E4AFCFB22D24FEA39/" - }, - { - "Type": 0, - "Name": "option_off", - "URL": "http://cloud-3.steamusercontent.com/ugc/2024962321889555661/6643E5CC9160FF4624672C255D0DF7B313DA00A5/" - }, - { - "Type": 0, - "Name": "SpeechBubble", - "URL": "https://i.imgur.com/6MReiEO.png" - }, - { - "Type": 0, - "Name": "Inv-Roland", - "URL": "https://i.imgur.com/lx6unDY.png" - }, - { - "Type": 0, - "Name": "NextArrow", - "URL": "https://i.imgur.com/MztSQis.png" - }, - { - "Type": 0, - "Name": "Exit", - "URL": "https://i.imgur.com/8qmTXwt.png" - }, - { - "Type": 0, - "Name": "Inv-Mandy", - "URL": "https://i.imgur.com/hniMC5g.png" - }, - { - "Type": 0, - "Name": "Inv-Preston", - "URL": "https://i.imgur.com/7IoOGjh.png" - }, - { - "Type": 0, - "Name": "Inv-Diana", - "URL": "https://i.imgur.com/Tajp04v.png" - }, - { - "Type": 0, - "Name": "Inv-Leo", - "URL": "https://i.imgur.com/UUBKRiV.png" - }, - { - "Type": 0, - "Name": "Inv-Daisy", - "URL": "https://i.imgur.com/zfqiSJz.png" - }, - { - "Type": 0, - "Name": "Inv-Winifred", - "URL": "https://i.imgur.com/vDNy6fD.png" - }, - { - "Type": 0, - "Name": "Inv-Stella", - "URL": "https://i.imgur.com/OgIv9N4.png" - }, - { - "Type": 0, - "Name": "Inv-Gloria", - "URL": "https://i.imgur.com/xtYVdEL.png" - }, - { - "Type": 0, - "Name": "Inv-Monterey", - "URL": "https://i.imgur.com/CWebh2L.png" - }, - { - "Type": 0, - "Name": "Inv-Daniela", - "URL": "https://i.imgur.com/XZ35Nnk.png" - }, - { - "Type": 0, - "Name": "Inv-Darrell", - "URL": "https://i.imgur.com/rEOtrUp.png" - }, - { - "Type": 0, - "Name": "Inv-Norman", - "URL": "https://i.imgur.com/96URPj3.png" - }, - { - "Type": 0, - "Name": "Inv-Finn", - "URL": "https://i.imgur.com/NFtlgA1.png" - }, - { - "Type": 0, - "Name": "Inv-Amina", - "URL": "https://i.imgur.com/cWhSRN3.png" - }, - { - "Type": 0, - "Name": "Inv-Jacqueline", - "URL": "https://i.imgur.com/AFuB9II.png" - }, - { - "Type": 0, - "Name": "TitleGradient", - "URL": "https://i.imgur.com/Mdjm349.png" - }, - { - "Type": 0, - "Name": "FinnIcon", - "URL": "http://cloud-3.steamusercontent.com/ugc/2037357792052848566/5DA900C430E97D3DFF2C9B8A3DB1CB2271791FC7/" - } - ], - "SnapPoints": [ - { - "Position": { - "x": -3.845, - "y": 1.59, - "z": 10.383 - }, - "Rotation": { - "x": 0.0, - "y": 270.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -2.94, - "y": 1.583, - "z": 0.393 - } - }, - { - "Position": { - "x": -2.94, - "y": 1.583, - "z": -5.104 - } - }, - { - "Position": { - "x": 12.249, - "y": 1.481, - "z": 35.986 - } - }, - { - "Position": { - "x": 12.25, - "y": 1.481, - "z": 27.986 - } - }, - { - "Position": { - "x": 12.25, - "y": 1.481, - "z": 19.986 - } - }, - { - "Position": { - "x": 12.252, - "y": 1.481, - "z": 11.986 - } - }, - { - "Position": { - "x": 12.25, - "y": 1.481, - "z": 3.986 - } - }, - { - "Position": { - "x": 12.25, - "y": 1.481, - "z": -4.014 - } - }, - { - "Position": { - "x": 12.247, - "y": 1.481, - "z": -12.016 - } - }, - { - "Position": { - "x": 12.251, - "y": 1.481, - "z": -20.014 - } - }, - { - "Position": { - "x": 12.25, - "y": 1.481, - "z": -28.014 - } - }, - { - "Position": { - "x": 12.25, - "y": 1.481, - "z": -36.014 - } - }, - { - "Position": { - "x": -1.353, - "y": 1.481, - "z": -26.603 - } - }, - { - "Position": { - "x": -3.85, - "y": 1.583, - "z": -10.388 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 31.671 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 29.735 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 27.799 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 25.864 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 23.928 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 21.992 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": 20.057 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -20.619 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -22.555 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -24.491 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -26.426 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -28.362 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -30.298 - } - }, - { - "Position": { - "x": -45.3, - "y": 1.481, - "z": -32.233 - } - }, - { - "Position": { - "x": 65.0, - "y": 1.481, - "z": -55.0 - } - }, - { - "Position": { - "x": 65.0, - "y": 1.481, - "z": -71.0 - } - }, - { - "Position": { - "x": 65.0, - "y": 1.481, - "z": -87.0 - } - }, - { - "Position": { - "x": 52.0, - "y": 1.481, - "z": -87.0 - } - }, - { - "Position": { - "x": 52.0, - "y": 1.481, - "z": -71.0 - } - }, - { - "Position": { - "x": 52.0, - "y": 1.481, - "z": -55.0 - } - }, - { - "Position": { - "x": 39.0, - "y": 1.481, - "z": -55.0 - } - }, - { - "Position": { - "x": 39.0, - "y": 1.481, - "z": -71.0 - } - }, - { - "Position": { - "x": 39.0, - "y": 1.481, - "z": -87.0 - } - }, - { - "Position": { - "x": 26.0, - "y": 1.481, - "z": -87.0 - } - }, - { - "Position": { - "x": 26.0, - "y": 1.481, - "z": -71.0 - } - }, - { - "Position": { - "x": 26.0, - "y": 1.481, - "z": -55.0 - } - }, - { - "Position": { - "x": 13.0, - "y": 1.481, - "z": -55.0 - } - }, - { - "Position": { - "x": 13.0, - "y": 1.481, - "z": -71.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 1.481, - "z": -55.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 1.481, - "z": -71.0 - } - }, - { - "Position": { - "x": 1.598, - "y": 1.583, - "z": -13.746 - }, - "Rotation": { - "x": 0.0, - "y": 315.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -56.245, - "y": 1.491, - "z": -80.189 - }, - "Rotation": { - "x": 0.0, - "y": 135.0, - "z": 180.0 - } - }, - { - "Position": { - "x": 6.5, - "y": 1.481, - "z": -87.0 - } - }, - { - "Position": { - "x": -27.0, - "y": 1.481, - "z": -56.165 - } - } - ], - "ObjectStates": [ - { - "GUID": "5fe087", - "Name": "HandTrigger", - "Transform": { - "posX": -65.7, - "posY": 6.0, - "posZ": -15.5, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 22.96, - "scaleY": 7.0, - "scaleZ": 5.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "be2f17", - "Name": "HandTrigger", - "Transform": { - "posX": -30.5, - "posY": 6.0, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 21.96, - "scaleY": 7.0, - "scaleZ": 5.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.856, - "g": 0.09999997, - "b": 0.09399996, - "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": "Red", - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0285cc", - "Name": "HandTrigger", - "Transform": { - "posX": -30.5, - "posY": 6.0, - "posZ": 36.053, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 21.96, - "scaleY": 7.0, - "scaleZ": 5.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.191999972, - "g": 0.701, - "b": 0.167999953, - "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": "Green", - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a70eee", - "Name": "HandTrigger", - "Transform": { - "posX": -65.7, - "posY": 6.0, - "posZ": 15.5, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 22.96, - "scaleY": 7.0, - "scaleZ": 5.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "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": "White", - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "afc863", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": -54.0, - "posY": -9.0, - "posZ": -80.1, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableLegBottomRight", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 2, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c8edca", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": -54.0, - "posY": -9.0, - "posZ": 80.1, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableLegBottomLeft", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 2, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "393bf7", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": 54.0, - "posY": -9.0, - "posZ": 80.1, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableLegTopLeft", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 2, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "12c65e", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": 54.0, - "posY": -9.0, - "posZ": -80.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableLegTopRight", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 2, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bd69bd", - "Name": "Chinese_Checkers_Piece", - "Transform": { - "posX": 73.16, - "posY": -0.26, - "posZ": -102.22, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.65, - "scaleY": 1.65, - "scaleZ": 1.65 - }, - "Nickname": "Flex Table Control", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": 1, - "LuaScript": "tableHeightOffset =-9\r\nfunction onSave()\r\n saved_data = JSON.encode({tid=tableImageData, cd=checkData})\r\n --saved_data = \"\"\r\n return saved_data\r\nend\r\n\r\nfunction onload(saved_data)\r\n --Loads the tracking for if the game has started yet\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n tableImageData = loaded_data.tid\r\n checkData = loaded_data.cd\r\n else\r\n tableImageData = {}\r\n checkData = {move=false, scale=false}\r\n end\r\n\r\n --Disables interactable status of objects with GUID in list\r\n for _, guid in ipairs(ref_noninteractable) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj then obj.interactable = false end\r\n end\r\n\r\n --Establish references to table parts\r\n obj_leg1 = getObjectFromGUID(\"afc863\")\r\n obj_leg2 = getObjectFromGUID(\"c8edca\")\r\n obj_leg3 = getObjectFromGUID(\"393bf7\")\r\n obj_leg4 = getObjectFromGUID(\"12c65e\")\r\n obj_surface = getObjectFromGUID(\"4ee1f2\")\r\n obj_side_top = getObjectFromGUID(\"35b95f\")\r\n obj_side_bot = getObjectFromGUID(\"f938a2\")\r\n obj_side_lef = getObjectFromGUID(\"9f95fd\")\r\n obj_side_rig = getObjectFromGUID(\"5af8f2\")\r\n\r\n controlActive = true\r\n createOpenCloseButton()\r\nend\r\n\r\n\r\n\r\n--Activation/deactivation of control panel\r\n\r\n\r\n\r\n--Activated by clicking on\r\nfunction click_toggleControl(_, color)\r\n if permissionCheck(color) then\r\n if not controlActive then\r\n --Activate control panel\r\n controlActive = true\r\n self.clearButtons()\r\n createOpenCloseButton()\r\n createSurfaceInput()\r\n createSurfaceButtons()\r\n createScaleInput()\r\n createScaleButtons()\r\n else\r\n --Deactivate control panel\r\n controlActive = false\r\n self.clearButtons()\r\n self.clearInputs()\r\n createOpenCloseButton()\r\n\r\n end\r\n end\r\nend\r\n\r\n\r\n\r\n\r\n--Table surface control\r\n\r\n\r\n\r\n--Changes table surface\r\nfunction click_applySurface(_, color)\r\n if permissionCheck(color) then\r\n updateSurface()\r\n broadcastToAll(\"New Table Image Applied\", {0.2,0.9,0.2})\r\n end\r\nend\r\n\r\n--Saves table surface\r\nfunction click_saveSurface(_, color)\r\n if permissionCheck(color) then\r\n local nickname = self.getInputs()[1].value\r\n local url = self.getInputs()[2].value\r\n if nickname == \"\" then\r\n --No nickname\r\n broadcastToAll(\"Please supply a nickname for this save.\", {0.9,0.2,0.2})\r\n else\r\n --Nickname exists\r\n\r\n if findInImageDataIndex(url, nickname) == nil then\r\n --Save doesn't exist already\r\n table.insert(tableImageData, {url=url, name=nickname})\r\n broadcastToAll(\"Image URL saved to memory.\", {0.2,0.9,0.2})\r\n --Refresh buttons\r\n self.clearButtons()\r\n createOpenCloseButton()\r\n createSurfaceButtons()\r\n createScaleButtons()\r\n else\r\n --Save exists already\r\n broadcastToAll(\"Memory already contains a save with this Name or URL. Delete it first.\", {0.9,0.2,0.2})\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Loads table surface\r\nfunction click_loadMemory(_, color, index)\r\n if permissionCheck(color) then\r\n self.editInput({index=0, value=tableImageData[index].name})\r\n self.editInput({index=1, value=tableImageData[index].url})\r\n updateSurface()\r\n broadcastToAll(\"Table Image Loaded\", {0.2,0.9,0.2})\r\n end\r\nend\r\n\r\n--Deletes table surface\r\nfunction click_deleteMemory(_, color, index)\r\n if permissionCheck(color) then\r\n table.remove(tableImageData, index)\r\n self.clearButtons()\r\n createOpenCloseButton()\r\n createSurfaceButtons()\r\n createScaleButtons()\r\n broadcastToAll(\"Element Removed from Memory\", {0.2,0.9,0.2})\r\n end\r\nend\r\n\r\n--Updates surface from the values in the input field\r\nfunction updateSurface()\r\n local customInfo = obj_surface.getCustomObject()\r\n customInfo.diffuse = self.getInputs()[2].value\r\n obj_surface.setCustomObject(customInfo)\r\n obj_surface = obj_surface.reload()\r\nend\r\n\r\n\r\n\r\n--Table Scale control\r\n\r\n\r\n\r\n--Applies Scale to table pieces\r\nfunction click_applyScale(_, color)\r\n if permissionCheck(color) then\r\n local newWidth = tonumber(self.getInputs()[3].value)\r\n local newDepth = tonumber(self.getInputs()[4].value)\r\n if type(newWidth) ~= \"number\" then\r\n broadcastToAll(\"Invalid Width\", {0.9,0.2,0.2})\r\n return\r\n elseif type(newDepth) ~= \"number\" then\r\n broadcastToAll(\"Invalid Depth\", {0.9,0.2,0.2})\r\n return\r\n elseif newWidth<0.1 or newDepth<0.1 then\r\n broadcastToAll(\"Scale cannot go below 0.1\", {0.9,0.2,0.2})\r\n return\r\n elseif newWidth>12 or newDepth>12 then\r\n broadcastToAll(\"Scale should not go over 12 (world size limitation)\", {0.9,0.2,0.2})\r\n return\r\n else\r\n changeTableScale(math.abs(newWidth), math.abs(newDepth))\r\n broadcastToAll(\"Scale applied.\", {0.2,0.9,0.2})\r\n end\r\n end\r\nend\r\n\r\n--Checks/unchecks move box for hands\r\nfunction click_checkMove(_, color)\r\n if permissionCheck(color) then\r\n local find_func = function(o) return o.click_function==\"click_checkMove\" end\r\n if checkData.move == true then\r\n checkData.move = false\r\n local buttonEntry = findButton(self, find_func)\r\n self.editButton({index=buttonEntry.index, label=\"\"})\r\n else\r\n checkData.move = true\r\n local buttonEntry = findButton(self, find_func)\r\n self.editButton({index=buttonEntry.index, label=string.char(10008)})\r\n end\r\n end\r\nend\r\n\r\n--Checks/unchecks scale box for hands\r\n--This button was disabled for technical reasons\r\n--[[\r\nfunction click_checkScale(_, color)\r\n if permissionCheck(color) then\r\n local find_func = function(o) return o.click_function==\"click_checkScale\" end\r\n if checkData.scale == true then\r\n checkData.scale = false\r\n local buttonEntry = findButton(self, find_func)\r\n self.editButton({index=buttonEntry.index, label=\"\"})\r\n else\r\n checkData.scale = true\r\n local buttonEntry = findButton(self, find_func)\r\n self.editButton({index=buttonEntry.index, label=string.char(10008)})\r\n end\r\n end\r\nend\r\n]]\r\n\r\n--Alters scale of elements and moves them\r\nfunction changeTableScale(width, depth)\r\n --Scaling factors used to translate scale to position offset\r\n local width2pos = (width-1) * 18\r\n local depth2pos = (depth-1) * 18\r\n\r\n --Hand zone movement\r\n if checkData.move == true then\r\n for _, pc in ipairs(ref_playerColor) do\r\n if Player[pc].getHandCount() > 0 then\r\n moveHandZone(Player[pc], width2pos, depth2pos)\r\n end\r\n end\r\n end\r\n --Hand zone scaling\r\n --The button to enable this was disabled for technical reasons\r\n if checkData.scale == true then\r\n for _, pc in ipairs(ref_playerColor) do\r\n if Player[pc].getHandCount() > 0 then\r\n scaleHandZone(Player[pc], width, depth)\r\n end\r\n end\r\n end\r\n\r\n --Resizing table elements\r\n obj_side_top.setScale({width, 1, 1})\r\n obj_side_bot.setScale({width, 1, 1})\r\n obj_side_lef.setScale({depth, 1, 1})\r\n obj_side_rig.setScale({depth, 1, 1})\r\n obj_surface.setScale({width, 1, depth})\r\n\r\n --Moving table elements to accomodate new scale\r\n obj_side_lef.setPosition({-width2pos,tableHeightOffset,0})\r\n obj_side_rig.setPosition({ width2pos,tableHeightOffset,0})\r\n obj_side_top.setPosition({0,tableHeightOffset, depth2pos})\r\n obj_side_bot.setPosition({0,tableHeightOffset,-depth2pos})\r\n obj_leg1.setPosition({-width2pos,tableHeightOffset,-depth2pos})\r\n obj_leg2.setPosition({-width2pos,tableHeightOffset, depth2pos})\r\n obj_leg3.setPosition({ width2pos,tableHeightOffset, depth2pos})\r\n obj_leg4.setPosition({ width2pos,tableHeightOffset,-depth2pos})\r\n self.setPosition(obj_leg4.positionToWorld({-22.12, 8.74,-19.16}))\r\n --Only enabled when changing tableHeightOffset\r\n --obj_surface.setPosition({0,tableHeightOffset,0})\r\nend\r\n\r\n--Move hand zone, p=player reference, facts are scaling factors\r\nfunction moveHandZone(p, width2pos, depth2pos)\r\n local widthX = obj_side_rig.getPosition().x\r\n local depthZ = obj_side_top.getPosition().z\r\n for i=1, p.getHandCount() do\r\n local handT = p.getHandTransform()\r\n local pos = handT.position\r\n local y = handT.rotation.y\r\n\r\n if y<45 or y>320 or y>135 and y<225 then\r\n if pos.z > 0 then\r\n pos.z = pos.z + depth2pos - depthZ\r\n else\r\n pos.z = pos.z - depth2pos + depthZ\r\n end\r\n else\r\n if pos.x > 0 then\r\n pos.x = pos.x + width2pos - widthX\r\n else\r\n pos.x = pos.x - width2pos + widthX\r\n end\r\n end\r\n\r\n --Only enabled when changing tableHeightOffset\r\n --pos.y = tableHeightOffset + 14\r\n\r\n handT.position = pos\r\n p.setHandTransform(handT, i)\r\n end\r\nend\r\n\r\n\r\n---Scales hand zones, p=player reference, facts are scaling factors\r\nfunction scaleHandZone(p, width, depth)\r\n local widthFact = width / obj_side_top.getScale().x\r\n local depthFact = depth / obj_side_lef.getScale().x\r\n for i=1, p.getHandCount() do\r\n local handT = p.getHandTransform()\r\n local scale = handT.scale\r\n local y = handT.rotation.y\r\n if y<45 or y>320 or y>135 and y<225 then\r\n scale.x = scale.x * widthFact\r\n else\r\n scale.x = scale.x * depthFact\r\n end\r\n handT.scale = scale\r\n p.setHandTransform(handT, i)\r\n end\r\nend\r\n\r\n\r\n\r\n--Information gathering\r\n\r\n\r\n\r\n--Checks if a color is promoted or host\r\nfunction permissionCheck(color)\r\n if Player[color].host==true or Player[color].promoted==true then\r\n return true\r\n else\r\n return false\r\n end\r\nend\r\n\r\n--Locates a string saved within memory file\r\nfunction findInImageDataIndex(...)\r\n for _, str in ipairs({...}) do\r\n for i, v in ipairs(tableImageData) do\r\n if v.url == str or v.name == str then\r\n return i\r\n end\r\n end\r\n end\r\n return nil\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n\r\n--Locates a button with a helper function\r\nfunction findButton(obj, func)\r\n if func==nil then error(\"No func supplied to findButton\") end\r\n for _, v in ipairs(obj.getButtons()) do\r\n if func(v) then\r\n return v\r\n end\r\n end\r\n return nil\r\nend\r\n\r\n\r\n\r\n--Creation of buttons/inputs\r\n\r\n\r\n\r\nfunction createOpenCloseButton()\r\n local tooltip = \"Open Table Control Panel\"\r\n if controlActive then\r\n tooltip = \"Close Table Control Panel\"\r\n end\r\n self.createButton({\r\n click_function=\"click_toggleControl\", function_owner=self,\r\n position={0,0,0}, rotation={-45,0,0}, height=400, width=400,\r\n color={1,1,1,0}, tooltip=tooltip\r\n })\r\nend\r\n\r\nfunction createSurfaceInput()\r\n local currentURL = obj_surface.getCustomObject().diffuse\r\n local nickname = \"\"\r\n if findInImageDataIndex(currentURL) ~= nil then\r\n nickname = tableImageData[findInImageDataIndex(currentURL)].name\r\n end\r\n self.createInput({\r\n label=\"Nickname\", input_function=\"none\", function_owner=self,\r\n alignment=3, position={0,0,2}, height=224, width=4000,\r\n font_size=200, tooltip=\"Enter nickname for table image (only used for save)\",\r\n value=nickname\r\n })\r\n self.createInput({\r\n label=\"URL\", input_function=\"none\", function_owner=self,\r\n alignment=3, position={0,0,3}, height=224, width=4000,\r\n font_size=200, tooltip=\"Enter URL for tabletop image\",\r\n value=currentURL\r\n })\r\nend\r\n\r\nfunction createSurfaceButtons()\r\n --Label\r\n self.createButton({\r\n label=\"Tabletop Surface Image\", click_function=\"none\",\r\n position={0,0,1}, height=0, width=0, font_size=300, font_color={1,1,1}\r\n })\r\n --Functional\r\n self.createButton({\r\n label=\"Apply Image\\nTo Table\", click_function=\"click_applySurface\",\r\n function_owner=self, tooltip=\"Apply URL as table image\",\r\n position={2,0,4}, height=440, width=1400, font_size=200,\r\n })\r\n self.createButton({\r\n label=\"Save Image\\nTo Memory\", click_function=\"click_saveSurface\",\r\n function_owner=self, tooltip=\"Record URL into memory (requires nickname)\",\r\n position={-2,0,4}, height=440, width=1400, font_size=200,\r\n })\r\n --Label\r\n self.createButton({\r\n label=\"Load From Memory\", click_function=\"none\",\r\n position={0,0,5.5}, height=0, width=0, font_size=300, font_color={1,1,1}\r\n })\r\n --Saves, created dynamically from memory file\r\n for i, memoryEntry in ipairs(tableImageData) do\r\n --Load\r\n local funcName = i..\"loadMemory\"\r\n local func = function(x,y) click_loadMemory(x,y,i) end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n label=memoryEntry.name, click_function=funcName,\r\n function_owner=self, tooltip=memoryEntry.url, font_size=200,\r\n position={-0.6,0,6.5+0.5*(i-1)}, height=240, width=3300,\r\n })\r\n --Delete\r\n local funcName = i..\"deleteMemory\"\r\n local func = function(x,y) click_deleteMemory(x,y,i) end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n label=\"DELETE\", click_function=funcName,\r\n function_owner=self, tooltip=\"\",\r\n position={3.6,0,6.5+0.5*(i-1)}, height=240, width=600,\r\n font_size=160, font_color={1,0,0}, color={0.8,0.8,0.8}\r\n })\r\n end\r\nend\r\n\r\nfunction createScaleInput()\r\n self.createInput({\r\n label=string.char(8644), input_function=\"none\", function_owner=self,\r\n alignment=3, position={-8.5,0,2}, height=224, width=400,\r\n font_size=200, tooltip=\"Table Width\",\r\n value=round(obj_side_top.getScale().x, 1)\r\n })\r\n self.createInput({\r\n label=string.char(8645), input_function=\"none\", function_owner=self,\r\n alignment=3, position={-7.5,0,2}, height=224, width=400,\r\n font_size=200, tooltip=\"Table Depth\",\r\n value=round(obj_side_lef.getScale().x, 1)\r\n })\r\nend\r\n\r\nfunction createScaleButtons()\r\n --Labels\r\n self.createButton({\r\n label=\"Table Scale\", click_function=\"none\",\r\n position={-8,0,1}, height=0, width=0, font_size=300, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=string.char(8644)..\" \"..string.char(8645),\r\n click_function=\"none\",\r\n position={-8,0,2}, height=0, width=0, font_size=300, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move Hands:\", click_function=\"none\",\r\n position={-8.3,0,3}, height=0, width=0, font_size=200, font_color={1,1,1}\r\n })\r\n --Disabled due to me removing the feature for technical reasons\r\n --[[\r\n self.createButton({\r\n label=\"Scale Hands:\", click_function=\"none\",\r\n position={-8.3,0,4}, height=0, width=0, font_size=200, font_color={1,1,1}\r\n })\r\n ]]\r\n --Checkboxes\r\n local label = \"\"\r\n if checkData.move == true then label = string.char(10008) end\r\n self.createButton({\r\n label=label, click_function=\"click_checkMove\",\r\n function_owner=self, tooltip=\"Check to move hands when table is rescaled\",\r\n position={-6.8,0,3}, height=224, width=224, font_size=200,\r\n })\r\n --[[\r\n local label = \"\"\r\n if checkData.scale == true then label = string.char(10008) end\r\n self.createButton({\r\n label=label, click_function=\"click_checkScale\",\r\n function_owner=self, tooltip=\"Check to scale the width of hands when table is rescaled\",\r\n position={-6.8,0,4}, height=224, width=224, font_size=200,\r\n })\r\n ]]\r\n --Apply button\r\n self.createButton({\r\n label=\"Apply Scale\", click_function=\"click_applyScale\",\r\n function_owner=self, tooltip=\"Apply width/depth to table\",\r\n position={-8,0,4}, height=440, width=1400, font_size=200,\r\n })\r\nend\r\n\r\n\r\n\r\n\r\n\r\n--Data tables\r\n\r\n\r\n\r\n\r\nref_noninteractable = {\r\n \"afc863\",\"c8edca\",\"393bf7\",\"12c65e\",\"f938a2\",\"9f95fd\",\"35b95f\",\r\n \"5af8f2\",\"4ee1f2\",\"bd69bd\"\r\n}\r\n\r\nref_playerColor = {\r\n \"White\", \"Brown\", \"Red\", \"Orange\", \"Yellow\",\r\n \"Green\", \"Teal\", \"Blue\", \"Purple\", \"Pink\", \"Black\"\r\n}\r\n\r\n--Dummy function, absorbs unwanted triggers\r\nfunction none() end\r", - "LuaScriptState": "{\"cd\":{\"move\":false,\"scale\":false},\"tid\":[{\"name\":\"Felt - Grey\",\"url\":\"https://i.imgur.com/N0O6aqj.jpg\"},{\"name\":\"Wood\",\"url\":\"https://i.imgur.com/iOFFsGh.jpg\"},{\"name\":\"Wood 2\",\"url\":\"https://i.imgur.com/SQ2t01d.jpg\"}]}", - "XmlUI": "" - }, - { - "GUID": "f938a2", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": 0.0, - "posY": -9.0, - "posZ": -80.1, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 4.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableBorderRight", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 1, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9f95fd", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": -54.0, - "posY": -9.0, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 5.45, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableBorderBottom", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 1, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "35b95f", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": 0.0, - "posY": -9.0, - "posZ": 80.1, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 4.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableBorderLeft", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 1, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5af8f2", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": 54.0, - "posY": -9.0, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 5.45, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "TableBorderTop", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomAssetbundle": { - "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 1, - "TypeIndex": 4, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9f334f", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.309, - "posY": 1.483, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 6.5, - "scaleY": 1.0, - "scaleZ": 6.5 - }, - "Nickname": "Mythos Area", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/952965089462071147/F586DAA07E810B16A62C23AE2EA526BE3C7FD7FB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/MythosArea\")\nend)\n__bundle_register(\"core/MythosArea\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal playAreaApi = require(\"core/PlayAreaApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal tokenSpawnTrackerApi = require(\"core/token/TokenSpawnTrackerApi\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\n\r\nlocal ENCOUNTER_DECK_AREA = {\r\n upperLeft = { x = 0.9, z = 0.42 },\r\n lowerRight = { x = 0.86, z = 0.38 },\r\n}\r\nlocal ENCOUNTER_DISCARD_AREA = {\r\n upperLeft = { x = 1.62, z = 0.42 },\r\n lowerRight = { x = 1.58, z = 0.38 },\r\n}\r\n\r\nlocal currentScenario\r\nlocal useFrontData\r\nlocal tokenData\r\n\r\nlocal TRASHCAN\r\nlocal TRASHCAN_GUID = \"70b9f6\"\r\n\r\n-- we use this to turn off collision handling until onLoad() is complete\r\nlocal collisionEnabled = false\r\n\r\nfunction onLoad(saveState)\r\n if saveState ~= nil then\r\n local loadedState = JSON.decode(saveState) or {}\r\n currentScenario = loadedState.currentScenario or \"\"\r\n useFrontData = loadedState.useFrontData or true\r\n tokenData = loadedState.tokenData or {}\r\n end\r\n TRASHCAN = getObjectFromGUID(TRASHCAN_GUID)\r\n collisionEnabled = true\r\nend\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n currentScenario = currentScenario,\r\n useFrontData = useFrontData,\r\n tokenData = tokenData\r\n })\r\nend\r\n\r\n-- TTS event handler. Handles scenario name event triggering and encounter card token resets.\r\nfunction onCollisionEnter(collisionInfo)\r\n if not collisionEnabled then return end\r\n local object = collisionInfo.collision_object\r\n\r\n if object.getName() == \"Scenario\" then\r\n local description = object.getDescription()\r\n\r\n -- detect if a new scenario card is placed down\r\n if currentScenario ~= description then\r\n currentScenario = description\r\n fireScenarioChangedEvent()\r\n end\r\n\r\n local metadata = JSON.decode(object.getGMNotes()) or {}\r\n if not metadata[\"tokens\"] then\r\n tokenData = {}\r\n return\r\n end\r\n\r\n -- detect orientation of scenario card (for difficulty)\r\n useFrontData = not object.is_face_down\r\n tokenData = metadata[\"tokens\"][(useFrontData and \"front\" or \"back\")]\r\n fireTokenDataChangedEvent()\r\n end\r\n\r\n local localPos = self.positionToLocal(object.getPosition())\r\n if inArea(localPos, ENCOUNTER_DECK_AREA) or inArea(localPos, ENCOUNTER_DISCARD_AREA) then\r\n tokenSpawnTrackerApi.resetTokensSpawned(object.getGUID())\r\n removeTokensFromObject(object)\r\n end\r\nend\r\n\r\n-- TTS event handler. Handles scenario name event triggering\r\nfunction onCollisionExit(collisionInfo)\r\n if not collisionEnabled then return end\r\n local object = collisionInfo.collision_object\r\n\r\n -- reset token metadata if scenario reference card is removed\r\n if object.getName() == \"Scenario\" then\r\n tokenData = {}\r\n useFrontData = nil\r\n fireTokenDataChangedEvent()\r\n end\r\nend\r\n\r\n-- Listens for cards entering the encounter deck or encounter discard, and resets the spawn state\r\n-- for the cards when they do.\r\nfunction onObjectEnterContainer(container, object)\r\n local localPos = self.positionToLocal(container.getPosition())\r\n if inArea(localPos, ENCOUNTER_DECK_AREA) or inArea(localPos, ENCOUNTER_DISCARD_AREA) then\r\n tokenSpawnTrackerApi.resetTokensSpawned(object.getGUID())\r\n end\r\nend\r\n\r\n-- fires if the scenario title changes\r\nfunction fireScenarioChangedEvent()\r\n Wait.frames(function() Global.call('titleSplash', currentScenario) end, 20)\r\n playAreaApi.onScenarioChanged(currentScenario)\r\nend\r\n\r\n-- fires if the scenario title or the difficulty changes\r\nfunction fireTokenDataChangedEvent()\r\n local fullData = returnTokenData()\r\n tokenArrangerApi.onTokenDataChanged(fullData)\r\nend\r\n\r\n-- returns the chaos token metadata (if provided)\r\nfunction returnTokenData()\r\n return {\r\n tokenData = tokenData,\r\n currentScenario = currentScenario,\r\n useFrontData = useFrontData\r\n }\r\nend\r\n\r\n-- Simple method to check if the given point is in a specified area. Local use only,\r\n---@param point Vector. Point to check, only x and z values are relevant\r\n---@param bounds Table. Defined area to see if the point is within. See MAIN_PLAY_AREA for sample\r\n-- bounds definition.\r\n---@return Boolean. True if the point is in the area defined by bounds\r\nfunction inArea(point, bounds)\r\n return (point.x < bounds.upperLeft.x\r\n and point.x > bounds.lowerRight.x\r\n and point.z < bounds.upperLeft.z\r\n and point.z > bounds.lowerRight.z)\r\nend\r\n\r\n-- removes tokens from the provided card/deck\r\nfunction removeTokensFromObject(object)\r\n for _, v in ipairs(searchArea(object.getPosition(), { 3, 1, 4 })) do\r\n local obj = v.hit_object\r\n\r\n if obj.getGUID() ~= \"4ee1f2\" and -- table\r\n obj ~= self and\r\n obj.type ~= \"Deck\" and\r\n obj.type ~= \"Card\" and\r\n obj.memo ~= nil and\r\n obj.getLock() == false and\r\n not tokenChecker.isChaosToken(obj) then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\nend\r\n\r\nfunction searchArea(origin, size)\r\n return Physics.cast({\r\n origin = origin,\r\n direction = {0, 1, 0},\r\n orientation = self.getRotation(),\r\n type = 3,\r\n size = size,\r\n max_distance = 1\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"currentScenario\":\"\",\"tokenData\":[],\"useFrontData\":true}", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": 2.191, - "y": 0.1, - "z": -0.462 - }, - "Rotation": { - "x": 0.0, - "y": 315.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.88, - "y": 0.101, - "z": 0.403 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - } - } - ] - }, - { - "GUID": "5706ae", - "Name": "Custom_Assetbundle", - "Transform": { - "posX": -50.032, - "posY": 1.479, - "posZ": -81.957, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Decoration - Candle", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.8, - "g": 0.8, - "b": 0.8 - }, - "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/821188897159732589/F46BB67A19FEE31DEC277CFD9CFE955FCA32B078/", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 0, - "TypeIndex": 0, - "LoopingEffectIndex": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "87ccfc", - "Name": "Custom_Model", - "Transform": { - "posX": -56.083, - "posY": 1.524, - "posZ": -90.479, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583188147/920981125E37B5CEB6C400E3FD353A2C428DA969/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a90f21", - "Name": "Custom_Model", - "Transform": { - "posX": -55.537, - "posY": 1.536, - "posZ": -88.075, - "rotX": -2.035555E-13, - "rotY": 224.999985, - "rotZ": 180.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583188147/920981125E37B5CEB6C400E3FD353A2C428DA969/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "180a23", - "Name": "Custom_Model", - "Transform": { - "posX": -53.182, - "posY": 1.524, - "posZ": -87.317, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583186619/365F95EC37B9B27DA32781DB460F0B70DB22F43F/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "463022", - "Name": "Custom_Tile", - "Transform": { - "posX": 77.99, - "posY": 0.65, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 25.0, - "scaleY": 1.0, - "scaleZ": 2.26 - }, - "Nickname": "Panel", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/273974515701259432/A09A20BE6300EAB285858E76A03BD781EE3845B5/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/273974515701259432/A09A20BE6300EAB285858E76A03BD781EE3845B5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.495000154, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7bff34", - "Name": "Custom_Token", - "Transform": { - "posX": 76.391, - "posY": 26.0, - "posZ": 0.563, - "rotX": 90.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 20.4, - "scaleY": 1.0, - "scaleZ": 16.79 - }, - "Nickname": "TentacleStand", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.92692, - "g": 1.0, - "b": 0.8027 - }, - "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, - "CustomImage": { - "ImageURL": "http://i.imgur.com/sWdnG71.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.2, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "PhysicsMaterial": { - "StaticFriction": 0.0, - "DynamicFriction": 0.0, - "Bounciness": 0.0, - "FrictionCombine": 0, - "BounceCombine": 0 - }, - "Rigidbody": { - "Mass": 0.0, - "Drag": 0.0, - "AngularDrag": 0.0, - "UseGravity": false - } - }, - { - "GUID": "83ef06", - "Name": "ScriptingTrigger", - "Transform": { - "posX": 1.4, - "posY": 2.866, - "posZ": -13.4, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 6.0, - "scaleY": 2.0, - "scaleZ": 6.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.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": "11e0cf", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": 2.857, - "posY": 1.675, - "posZ": -8.856, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clue tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192501/B768FB57878814EB243CF25C4DFCD7C7CDFF3AC1/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.595, - "posY": 1.779, - "posZ": -8.511, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "b015d8", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": 2.761, - "posY": 1.68, - "posZ": 8.817, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Doom tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "https://i.imgur.com/5Uy4hlP.jpg", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.972, - "posY": 1.884, - "posZ": 8.88, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "85c4c6", - "Name": "Custom_Token", - "Transform": { - "posX": -5.3, - "posY": 1.633, - "posZ": 0.378, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.42, - "scaleY": 1.0, - "scaleZ": 0.42 - }, - "Nickname": "Doom Counter", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.0, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949592555964782208/CC876694A6684B3C2680CE2FE3259F574AE0AD97/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/DoomCounter\")\nend)\n__bundle_register(\"core/DoomCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal optionsVisible = false\r\nlocal options = {\r\n Agenda = true,\r\n Playarea = true,\r\n Playermats = true\r\n}\r\n\r\nval = 0\r\n\r\n-- save current value and options\r\nfunction onSave() return JSON.encode({ val, options }) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n val = loadedData[1]\r\n options = loadedData[2]\r\n\r\n -- restore state for option panel\r\n for key, bool in pairs(options) do\r\n self.UI.setAttribute(\"option\" .. key, \"isOn\", not bool)\r\n end\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = { 0, 0.06, 0 },\r\n height = 800,\r\n width = 800,\r\n font_size = 650,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_color = { 1, 1, 1, 95 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\nend\r\n\r\n-- called by the invisible button to change displayed value\r\nfunction addOrSubtract(_, _, isRightClick)\r\n local newVal = math.min(math.max(val + (isRightClick and -1 or 1), 0), 99)\r\n if val ~= newVal then\r\n updateVal(newVal)\r\n end\r\nend\r\n\r\n-- adds the provided number to the current count\r\nfunction addVal(number)\r\n number = tonumber(number) or 0\r\n val = val + number\r\n self.editButton({ index = 0, label = tostring(val) })\r\n printToAll(\"Doom on agenda set to: \" .. val)\r\nend\r\n\r\n-- sets the current count to the provided number\r\nfunction updateVal(number)\r\n val = number or 0\r\n self.editButton({ index = 0, label = tostring(val) })\r\n printToAll(\"Doom on agenda set to: \" .. val)\r\nend\r\n\r\n-- called by \"Reset\" button to remove doom\r\nfunction startReset()\r\n if options.Agenda then\r\n updateVal(0)\r\n end\r\n -- call the \"Doom-in-Play\"-counter\r\n local DoomInPlayCounter = getObjectFromGUID(\"652ff3\")\r\n if DoomInPlayCounter then\r\n DoomInPlayCounter.call(\"removeDoom\", options)\r\n end\r\nend\r\n\r\n-- XML UI functions\r\nfunction optionClick(_, optionName)\r\n options[optionName] = not options[optionName]\r\n printToAll(\"Doom removal of \" .. optionName .. (options[optionName] and \" enabled\" or \" disabled\"))\r\nend\r\n\r\nfunction toggleOptions()\r\n optionsVisible = not optionsVisible\r\n\r\n if optionsVisible then\r\n self.UI.show(\"Options\")\r\n else\r\n self.UI.hide(\"Options\")\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[0,{\"Agenda\":true,\"Playarea\":true,\"Playermats\":true}]", - "XmlUI": "\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 Doom on Agenda\r\n Doom in Playarea\r\n Doom on Playermats\r\n \r\n\r" - }, - { - "GUID": "2eca7c", - "Name": "Custom_Tile", - "Transform": { - "posX": -57.0, - "posY": 1.45, - "posZ": 57.5, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 3.3, - "scaleY": 1.0, - "scaleZ": 3.3 - }, - "Nickname": "Round Sequence", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "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, - "CustomImage": { - "ImageURL": "https://i.imgur.com/8SxnJvQ.jpg", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2022727271910314655/F62931F67B2D5B5612A4688307A68D1058415408/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb09d4", - "Name": "Custom_Tile", - "Transform": { - "posX": -57.0, - "posY": 1.55, - "posZ": 52.5, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 3.3, - "scaleY": 1.0, - "scaleZ": 3.3 - }, - "Nickname": "Action Description", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "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, - "CustomImage": { - "ImageURL": "https://i.imgur.com/8SxnJvQ.jpg", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2022727271910314655/F62931F67B2D5B5612A4688307A68D1058415408/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f182ee", - "Name": "Custom_Token", - "Transform": { - "posX": -12.03, - "posY": 1.473, - "posZ": -4.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.3, - "scaleY": 1.0, - "scaleZ": 0.3 - }, - "Nickname": "Investigator Count", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.76481, - "g": 0.76481, - "b": 0.76481 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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": "https://i.imgur.com/Nj9m2tH.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/ActiveInvestigatorCounter\")\nend)\n__bundle_register(\"core/ActiveInvestigatorCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/GenericCounter\")\r\nMIN_VALUE = 1\r\nMAX_VALUE = 4\r\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "2", - "XmlUI": "" - }, - { - "GUID": "68fe54", - "Name": "Card", - "Transform": { - "posX": -62.0, - "posY": 1.495, - "posZ": 71.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 5.88, - "scaleY": 1.0, - "scaleZ": 5.88 - }, - "Nickname": "Detailed phase reference", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "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": true, - "CardID": 265902, - "SidewaysCard": false, - "CustomDeck": { - "2659": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493732358553666/DDD92ED5B4944765847E7726F768E58C58C27CB2/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/778493732358553666/DDD92ED5B4944765847E7726F768E58C58C27CB2/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "91c83e", - "Name": "Card", - "Transform": { - "posX": -62.0, - "posY": 1.495, - "posZ": 89.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 5.88, - "scaleY": 1.0, - "scaleZ": 5.88 - }, - "Nickname": "Rules Index", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "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": true, - "CardID": 266103, - "SidewaysCard": false, - "CustomDeck": { - "2661": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493732358554721/C95D5B3564369BBC90833CA16DFC670FEFB80205/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/778493732358554721/C95D5B3564369BBC90833CA16DFC670FEFB80205/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3f22e5", - "Name": "Custom_Token", - "Transform": { - "posX": -59.426, - "posY": 1.3, - "posZ": -22.721, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Clues", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/784129913444610342/7903BA89870C1656A003FD69C79BFA99BD1AAC24/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "db85d6", - "Name": "Custom_Token", - "Transform": { - "posX": -59.426, - "posY": 1.3, - "posZ": 9.395, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Clues", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/784129913444610342/7903BA89870C1656A003FD69C79BFA99BD1AAC24/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "891403", - "Name": "Custom_Token", - "Transform": { - "posX": -36.87, - "posY": 1.3, - "posZ": 30.977, - "rotX": 0.0, - "rotY": 9.999998, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Clues", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/784129913444610342/7903BA89870C1656A003FD69C79BFA99BD1AAC24/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "4111de", - "Name": "Custom_Token", - "Transform": { - "posX": -23.89, - "posY": 1.3, - "posZ": -30.977, - "rotX": 0.0, - "rotY": 190.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Clues", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/784129913444610342/7903BA89870C1656A003FD69C79BFA99BD1AAC24/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/GenericCounter\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "4406f0", - "Name": "Custom_Token", - "Transform": { - "posX": -59.817, - "posY": 1.52, - "posZ": 7.617, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Resources", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663401115/EAA6D40FC6E15204BBE551BCDED35CC8C75111BF/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "5", - "XmlUI": "" - }, - { - "GUID": "eb08d6", - "Name": "Custom_Token", - "Transform": { - "posX": -57.472, - "posY": 1.52, - "posZ": 9.273, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Damage\n", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663402915/D881A5A0D8A370851B9A0055DD7834CDCE0F72BE/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "468e88", - "Name": "Custom_Token", - "Transform": { - "posX": -57.83, - "posY": 1.52, - "posZ": 7.229, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Horror", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663403796/E6FC1B82A5BC3893CFDCDF3CD580D05E9218AE52/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/GenericCounter\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "e64eec", - "Name": "Custom_Token", - "Transform": { - "posX": -57.507, - "posY": 1.52, - "posZ": -22.894, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Damage\n", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663402915/D881A5A0D8A370851B9A0055DD7834CDCE0F72BE/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "0257d9", - "Name": "Custom_Token", - "Transform": { - "posX": -57.887, - "posY": 1.52, - "posZ": -24.928, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Horror", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663403796/E6FC1B82A5BC3893CFDCDF3CD580D05E9218AE52/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "816d84", - "Name": "Custom_Token", - "Transform": { - "posX": -59.798, - "posY": 1.52, - "posZ": -24.571, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Resources", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663401115/EAA6D40FC6E15204BBE551BCDED35CC8C75111BF/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "5", - "XmlUI": "" - }, - { - "GUID": "591a45", - "Name": "Custom_Token", - "Transform": { - "posX": -23.497, - "posY": 1.52, - "posZ": -29.078, - "rotX": 0.0, - "rotY": 190.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Damage\n", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663402915/D881A5A0D8A370851B9A0055DD7834CDCE0F72BE/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "beb964", - "Name": "Custom_Token", - "Transform": { - "posX": -21.469, - "posY": 1.52, - "posZ": -29.42, - "rotX": 0.0, - "rotY": 190.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Horror", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663403796/E6FC1B82A5BC3893CFDCDF3CD580D05E9218AE52/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "a4b60d", - "Name": "Custom_Token", - "Transform": { - "posX": -21.914, - "posY": 1.52, - "posZ": -31.433, - "rotX": 0.0, - "rotY": 190.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Resources", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663401115/EAA6D40FC6E15204BBE551BCDED35CC8C75111BF/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "5", - "XmlUI": "" - }, - { - "GUID": "1f5a0a", - "Name": "Custom_Token", - "Transform": { - "posX": -37.182, - "posY": 1.52, - "posZ": 29.089, - "rotX": 0.0, - "rotY": 9.999998, - "rotZ": 1.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Damage\n", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663402915/D881A5A0D8A370851B9A0055DD7834CDCE0F72BE/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "7b5729", - "Name": "Custom_Token", - "Transform": { - "posX": -39.163, - "posY": 1.519, - "posZ": 29.487, - "rotX": 0.0, - "rotY": 9.999998, - "rotZ": 1.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Horror", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663403796/E6FC1B82A5BC3893CFDCDF3CD580D05E9218AE52/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - }, - { - "GUID": "cd15ac", - "Name": "Custom_Token", - "Transform": { - "posX": -38.812, - "posY": 1.52, - "posZ": 31.434, - "rotX": 0.0, - "rotY": 9.999998, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Resources", - "Description": "Left click - Increase\nRight click - Decrease", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663401115/EAA6D40FC6E15204BBE551BCDED35CC8C75111BF/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "5", - "XmlUI": "" - }, - { - "GUID": "4ee1f2", - "Name": "Custom_Model", - "Transform": { - "posX": 0.0, - "posY": -9.0, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 4.0, - "scaleY": 1.0, - "scaleZ": 5.45 - }, - "Nickname": "TableSurface", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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/879750610978796176/4A5A65543B98BCFBF57E910D06EC984208223D38/", - "DiffuseURL": "https://i.imgur.com/EFTMP2d.jpg", - "NormalURL": "", - "ColliderURL": "", - "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": "304ffc", - "Name": "Custom_Model", - "Transform": { - "posX": -66.409, - "posY": 1.863, - "posZ": -84.545, - "rotX": 90.0, - "rotY": 151.0, - "rotZ": 0.0, - "scaleX": 3.0, - "scaleY": 3.0, - "scaleZ": 3.0 - }, - "Nickname": "Encounter Sets", - "Description": "Use the context menu to download the encounter sets by cycle.", - "GMNotes": "extras/encounter_sets.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/863978359495064406/50966C05FB8C4D41BA069EB5E0E19E95BF3A9963/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/863978359495062918/777CFB72754EC943DF113C1EC1CA495B07FCB6C1/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.8745098, - "g": 0.8117647, - "b": 0.745098054 - }, - "SpecularIntensity": 0.05, - "SpecularSharpness": 3.60000014, - "FresnelStrength": 0.1 - }, - "CastShadows": true - }, - "LuaScript": "function onLoad()\r\n self.addContextMenuItem(\"Download\", download)\r\nend\r\n\r\nfunction download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f18c2d", - "Name": "Custom_Model", - "Transform": { - "posX": -53.868, - "posY": 1.536, - "posZ": -93.243, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583186619/365F95EC37B9B27DA32781DB460F0B70DB22F43F/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4be4a3", - "Name": "Custom_Model", - "Transform": { - "posX": -52.238, - "posY": 1.524, - "posZ": -88.201, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583188147/920981125E37B5CEB6C400E3FD353A2C428DA969/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d7c767", - "Name": "Custom_Model", - "Transform": { - "posX": -54.093, - "posY": 1.536, - "posZ": -92.206, - "rotX": 0.0, - "rotY": 135.0, - "rotZ": 180.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583188147/920981125E37B5CEB6C400E3FD353A2C428DA969/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f42af3", - "Name": "Custom_Model", - "Transform": { - "posX": -54.278, - "posY": 1.524, - "posZ": -90.411, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Decoration - Coin", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583186619/365F95EC37B9B27DA32781DB460F0B70DB22F43F/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "70b9f6", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 0.493, - "posY": 1.656, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.4, - "scaleY": 0.3, - "scaleZ": 0.4 - }, - "Nickname": "Trash", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.996229947, - "b": 0.9979599 - }, - "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/1293045649230453355/2F68BC7FA71E051E2BBA46C0D1B06A5972D52E7C/", - "DiffuseURL": "", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 0, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"util/Trashcan\")\nend)\n__bundle_register(\"util/Trashcan\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- adds a context menu entry to trigger the emptying\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Empty Trash\", emptyTrash)\r\nend\r\n\r\n-- removes all objects by taking them out and then destructing them\r\nfunction emptyTrash()\r\n for _, trash in ipairs(self.getObjects()) do\r\n self.takeObject().destruct()\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0168ae", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": 20.057, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Resource tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.282239944, - "g": 0.0704999641, - "b": 0.0704999641 - }, - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192729/6881710C4711FB5949E02FAD63D4B416C7DC0AF9/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "910e09", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Resource", - "Description": "", - "GMNotes": "", - "Memo": "resource", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192910/11DDDC7EF621320962FDCF3AE3211D5EDC3D1573/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "00d19a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Ammo", - "Description": "", - "GMNotes": "", - "Memo": "ammo", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230067/741BC33D398801C4BC8368C345EAEF3BE2522823/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Bounty", - "Description": "", - "GMNotes": "", - "Memo": "bounty", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808233/22B6C4A9FEE0814E6A9BDB2C833C79D66F8100B8/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Charge", - "Description": "", - "GMNotes": "", - "Memo": "charge", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230179/E3A30A2D661A12205D98D4D0E374591586C5C486/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Evidence", - "Description": "", - "GMNotes": "", - "Memo": "evidence", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808359/FA36A27E47F940D14B4C45809BF1A0CD7783C8EB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "7a4a9a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Secret", - "Description": "", - "GMNotes": "", - "Memo": "secret", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230311/11AD08ED0D8BF5B237444DAD0AF4F8144297A485/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "2b4628", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Supply", - "Description": "", - "GMNotes": "", - "Memo": "supply", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230402/6486457CE96C04945473D4E079CBFFAF54C7EE1B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "ae1a4e", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": 23.928, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Horror tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.192479938, - "g": 0.248129934, - "b": 0.451219976 - }, - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357109766/6D35F3D98A4C89696895FACA788F54005B1688D3/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "36be72", - "Name": "Custom_Token", - "Transform": { - "posX": -26.404, - "posY": 1.41, - "posZ": 15.728, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163535/6D9E0756503664D65BDB384656AC6D4BD713F5FC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5c2361", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442654, - "rotX": -2.02706469E-05, - "rotY": 270.015259, - "rotZ": 2.20759175E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163230/ED46F8BBAEDB4D3C96C654D48C56110D35F3F54F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "3a3415", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442368, - "rotX": -1.04253941E-05, - "rotY": 270.015137, - "rotZ": 1.02804506E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357162977/E5D453CC14394519E004B4F8703FC425A7AE3D6C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "4a91a8", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442348, - "rotX": 1.89065361E-06, - "rotY": 270.01532, - "rotZ": 1.59575811E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164483/5E22FEAE253AE65BDE3FA09E4EE7133569F7E194/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "887aae", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442024, - "rotX": -3.432232E-05, - "rotY": 270.016, - "rotZ": -3.73151761E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164251/34DC7172A2B433047DA853796DB52AECE019F99F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "baa831", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000624, - "posZ": 15.94415, - "rotX": -2.49414188E-05, - "rotY": 270.0157, - "rotZ": 2.92043842E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164030/0A12FD352F28A560EA7E7952D8CA618A5245F1E0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "da94da", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.944108, - "rotX": -2.33948358E-05, - "rotY": 270.015656, - "rotZ": 2.18774017E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357114485/8B2B8A9F61CC2D8C1F10977ABDB4BA2423AD143F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "2e1687", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.210006, - "posZ": 15.9440966, - "rotX": -1.57902083E-08, - "rotY": 270.016541, - "rotZ": -2.19759459E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163806/F397C22A8DDB8F22E08E42E6449C3B5D8CFDB313/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "a6f1e0", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.21000612, - "posZ": 15.9440622, - "rotX": -2.09277514E-05, - "rotY": 270.016724, - "rotZ": 4.970206E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357110165/AD791E6817304851C0ABD7AE97AA60326AC14538/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "b0ef6c", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": 21.992, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Damage tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.69512, - "g": 0.00426, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357113311/C9A5F7E450A6845D0D09D7407AA38E9319697D74/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CustomShader": { - "SpecularColor": { - "r": 0.8745098, - "g": 0.8117647, - "b": 0.745098054 - }, - "SpecularIntensity": 0.05, - "SpecularSharpness": 3.000001, - "FresnelStrength": 0.1 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "cd2a02", - "Name": "Custom_Token", - "Transform": { - "posX": -41.626, - "posY": 1.813, - "posZ": 28.781, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.24, - "scaleY": 1.0, - "scaleZ": 0.24 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974350/E16168497E847B690A16F1C0914E4F5C872555B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "10": { - "GUID": "473fd1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -2.114869E-06, - "rotY": 180.0, - "rotZ": -3.44551631E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975474/DFCA4DBDEDCC936D2A2888A98C9B2FEBCD30C22B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "fdb103", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -6.37244239E-06, - "rotY": 180.0, - "rotZ": 1.0489314E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975559/D34362DF759435E36BF4109C8EE397D96EDE6B56/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "9409fe", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.856813E-06, - "rotY": 180.0, - "rotZ": 6.24681149E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975658/F7CBB1000A579C9642A259174E611C0118190022/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "69b7a8", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.10479651E-06, - "rotY": 180.0, - "rotZ": 4.15571648E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975808/E0965014A9756E7CB50A144006363535D43BA6F5/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "df96a2", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 5.15672855E-06, - "rotY": 180.0, - "rotZ": -9.08177E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975959/B5BB691A4BF8E83DD2B514C81EC38E8E082ED787/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "166a74", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 7.670889E-06, - "rotY": 180.0, - "rotZ": 2.730384E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976119/2EFDA564FE2E9F58EB47F21B4CB69117876DCC7A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "a964cf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 9.659233E-06, - "rotY": 180.0, - "rotZ": 3.145974E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976252/7FE12F57BD8ED418097467B0472B2B510C5B3D05/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "f25755", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 9.30901138E-07, - "rotY": 180.0, - "rotZ": 1.40537149E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976402/BFC6C6655B0EB1C3DFD3819AFEA599F8D42CEB64/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "157830", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.49763832E-06, - "rotY": 180.0, - "rotZ": -1.1208811E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976543/32E963CDBABCDEBEF3FB499670577A19689E1D8B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "4b281e", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": -4.87788157E-06, - "rotY": 180.000015, - "rotZ": 2.83701524E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976679/9CFECB352760F82A558905BC6874DD47F807F785/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "731a18", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -1.12864509E-05, - "rotY": 180.0, - "rotZ": 9.893568E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974497/B53160AEF67C32741FB7393B887A745C5A0403A6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "e38f0b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.81104314E-06, - "rotY": 180.000015, - "rotZ": -1.25628785E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976805/C81E859758C7B35531566E99CFFDC10626F184D2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "21": { - "GUID": "be6df1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.09130187E-05, - "rotY": 180.0, - "rotZ": 1.615263E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976909/640634C5EC652071E14B8EDDEB8800ED4CFECBE3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "22": { - "GUID": "5bb1af", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 3.85535827E-07, - "rotY": 180.000015, - "rotZ": -3.36548E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977001/6854680D0F7FE536050A1FDDC5A31B642BAA82FB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "23": { - "GUID": "ca8bdf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.05401759E-05, - "rotY": 180.000015, - "rotZ": 1.26669079E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977114/58B8C6AFC58BEC7F5CDA992B399235E1D1CE216A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "24": { - "GUID": "01363c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.14314139E-06, - "rotY": 180.000015, - "rotZ": 1.73802164E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977249/7D1F115182E691E90A505760A3349D237C0F16E1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "25": { - "GUID": "b72a1d", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.84584269E-06, - "rotY": 180.000015, - "rotZ": 5.3036315E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977373/3EB829A410A896DFBA803FB029394976F6AE0CCB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "26": { - "GUID": "04f0ba", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.02766649E-06, - "rotY": 180.000015, - "rotZ": -1.37765155E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977465/9CA5019A545C6BF2AA1BBB3112267EACAF52C01E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "27": { - "GUID": "cfaf88", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.9677243E-06, - "rotY": 180.000015, - "rotZ": 2.49157665E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977563/7037BEF939CFBDC031481366476C44C7C3EF322D/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "28": { - "GUID": "592346", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.276227E-05, - "rotY": 180.000015, - "rotZ": 1.53182373E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977715/F7661D4ADB8F7071FB4E836B2BAF43C3820848E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "29": { - "GUID": "4cca27", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.13882947E-06, - "rotY": 180.000015, - "rotZ": -4.327291E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977844/58C1F8974EEF4961249B44B8517B350F18753379/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "5099bb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -9.526744E-08, - "rotY": 180.0, - "rotZ": -7.436876E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974625/F8D98C87DCB93C8CDF106FFAB3DA836B22DA8BEB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "30": { - "GUID": "bc08ab", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.68156157E-06, - "rotY": 180.000015, - "rotZ": 2.19717617E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977960/7AC1D20BCD93FD3D035EC26A4C108A82E72EBA86/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "31": { - "GUID": "ae6d21", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.9150783E-06, - "rotY": 180.000015, - "rotZ": 2.574338E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978096/D6F6F7EDF5E14EE6B9EE21F807E7CF4F9F9EC028/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "32": { - "GUID": "8b4d06", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.1233E-05, - "rotY": 180.0, - "rotZ": 1.67793787E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978200/E6CDADB9AAB0A79E8526D7A4A1F49471893F7947/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "33": { - "GUID": "3b3f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.90952255E-06, - "rotY": 180.0, - "rotZ": 6.814834E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978337/818E96F0D2BCB45CC90CEE863677312245594B4C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "34": { - "GUID": "cfdd03", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.08585373E-05, - "rotY": 180.0, - "rotZ": 5.40023439E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978437/B98FDAB4D1EBC1D40E969DEF9CA7143C8D251BB4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "35": { - "GUID": "f89275", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -7.21516062E-06, - "rotY": 180.0, - "rotZ": -2.222035E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978553/9A27448271331CDD6292E14F2CB49D71C50CEBF3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "36": { - "GUID": "f45ba0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.55812164E-06, - "rotY": 180.0, - "rotZ": -4.21542978E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978668/D56BF0309ECBDDC4DC4C8FFB71C8B80B320A5E11/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "37": { - "GUID": "e6cce3", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.363716E-06, - "rotY": 180.0, - "rotZ": 1.25134511E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978779/A532740121C41FEF6E30A9E98F933AE1D15907CB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "38": { - "GUID": "9d9531", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.65363917E-06, - "rotY": 180.0, - "rotZ": 7.55110068E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978910/695348D90CBB1D5EF857964662D3D29478FAECC2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "39": { - "GUID": "9676a0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -4.33588548E-06, - "rotY": 180.0, - "rotZ": 1.34007632E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979053/575819DDF05E4E6FBFA296DD68E7AF6A764CE2B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "68206f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.948265E-06, - "rotY": 180.0, - "rotZ": -2.10753624E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974789/EC9F446EA2DF1E2AE8369138E6873B28852469F1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "40": { - "GUID": "cc6d6a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.05671983E-06, - "rotY": 180.0, - "rotZ": -4.596211E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979152/FFC073DECEC5837E340C37F6CE4F40938E40C514/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "41": { - "GUID": "87fa52", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 6.80305163E-07, - "rotY": 180.0, - "rotZ": -4.47995035E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979285/C69BFF8D1ECC77BF0F5DAD355DD6E84A6A268731/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "42": { - "GUID": "a15b63", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.68703422E-06, - "rotY": 180.0, - "rotZ": 2.98529955E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979439/375AE4A39169F62B3447BDC1AA4A26A6690A66D7/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "43": { - "GUID": "6c1f20", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.27916132E-06, - "rotY": 180.0, - "rotZ": 8.00865E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979609/C5BFCF1A87F14282C61EC920FD21D9B25E883693/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "44": { - "GUID": "66febb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.32305695E-05, - "rotY": 180.0, - "rotZ": -8.536388E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979713/BEB28A94C343F57F6DC3A81F32DDB657CD896EBC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "45": { - "GUID": "56af87", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 8.879468E-06, - "rotY": 180.0, - "rotZ": -3.5132357E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979797/B27B29B4FF6D550F532D46CD0F7A3EDF984FD39A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "46": { - "GUID": "a3fefa", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -5.77568835E-06, - "rotY": 180.0, - "rotZ": 7.164294E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979901/BA1482E12F3DB002FADB2F5C74FA48EA8DE1E31F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "47": { - "GUID": "1e8699", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.50068281E-05, - "rotY": 180.0, - "rotZ": 3.70904536E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980020/3756AD3A8C521914A763443EC79407CB6F38B8E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "48": { - "GUID": "189d66", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -4.77549E-06, - "rotY": 180.0, - "rotZ": -8.039457E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980124/599CAF38B47AD4B29319213CD65C40946DF84777/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "49": { - "GUID": "f08f9a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": -1.32930072E-05, - "rotY": 180.0, - "rotZ": -1.75149926E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980220/D3682CD04922D7709D49C1066AD921221AD92F74/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "9a8f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -2.51728725E-05, - "rotY": 180.0, - "rotZ": -1.07583146E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974892/4AFA955A876D8E5BD28DA6164F38EDFBC9988E0F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "50": { - "GUID": "aec16f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.07346423E-05, - "rotY": 180.0, - "rotZ": 1.03672137E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980328/86FB8E62D4EAD71432622244C92A7B261D1D2F6A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "9a1ec5", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.53614124E-07, - "rotY": 180.0, - "rotZ": -9.400431E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975047/33060EB9820DE72C983844818A81444377736BB1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "8fd050", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.06476E-06, - "rotY": 180.0, - "rotZ": -1.94595268E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975160/6B9DD5F5EBFF943633F1A97D4F2D5EAA15D2E3CA/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "b1b78a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.66816653E-06, - "rotY": 180.0, - "rotZ": -1.42901517E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975274/4E93F71661D310DB5FB0472E49E935F16AD0B16E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "3c293b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.92622952E-06, - "rotY": 180.0, - "rotZ": 4.37234166E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975360/E524936A793CC5871EE74EBE75388A61ABDD44D0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "4b8594", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -42.25, - "posY": 1.653, - "posZ": -19.3, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.3, - "scaleY": 0.3, - "scaleZ": 0.3 - }, - "Nickname": "Trash", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.996229947, - "b": 0.9979599 - }, - "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/1293045649230453355/2F68BC7FA71E051E2BBA46C0D1B06A5972D52E7C/", - "DiffuseURL": "", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 0, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"util/Trashcan\")\nend)\n__bundle_register(\"util/Trashcan\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- adds a context menu entry to trigger the emptying\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Empty Trash\", emptyTrash)\r\nend\r\n\r\n-- removes all objects by taking them out and then destructing them\r\nfunction emptyTrash()\r\n for _, trash in ipairs(self.getObjects()) do\r\n self.takeObject().destruct()\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5f896a", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -42.25, - "posY": 1.664, - "posZ": 19.3, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.3, - "scaleY": 0.3, - "scaleZ": 0.3 - }, - "Nickname": "Trash", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.996229947, - "b": 0.9979599 - }, - "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/1293045649230453355/2F68BC7FA71E051E2BBA46C0D1B06A5972D52E7C/", - "DiffuseURL": "", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 0, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"util/Trashcan\")\nend)\n__bundle_register(\"util/Trashcan\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- adds a context menu entry to trigger the emptying\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Empty Trash\", emptyTrash)\r\nend\r\n\r\n-- removes all objects by taking them out and then destructing them\r\nfunction emptyTrash()\r\n for _, trash in ipairs(self.getObjects()) do\r\n self.takeObject().destruct()\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "147e80", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -47.73, - "posY": 1.624, - "posZ": 4.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.3, - "scaleY": 0.3, - "scaleZ": 0.3 - }, - "Nickname": "Trash", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.996229947, - "b": 0.9979599 - }, - "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/1293045649230453355/2F68BC7FA71E051E2BBA46C0D1B06A5972D52E7C/", - "DiffuseURL": "", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 0, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"util/Trashcan\")\nend)\n__bundle_register(\"util/Trashcan\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- adds a context menu entry to trigger the emptying\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Empty Trash\", emptyTrash)\r\nend\r\n\r\n-- removes all objects by taking them out and then destructing them\r\nfunction emptyTrash()\r\n for _, trash in ipairs(self.getObjects()) do\r\n self.takeObject().destruct()\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f7b6c8", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -47.73, - "posY": 1.622, - "posZ": -4.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.3, - "scaleY": 0.3, - "scaleZ": 0.3 - }, - "Nickname": "Trash", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.996229947, - "b": 0.9979599 - }, - "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/1293045649230453355/2F68BC7FA71E051E2BBA46C0D1B06A5972D52E7C/", - "DiffuseURL": "", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 0, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"util/Trashcan\")\nend)\n__bundle_register(\"util/Trashcan\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- adds a context menu entry to trigger the emptying\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Empty Trash\", emptyTrash)\r\nend\r\n\r\n-- removes all objects by taking them out and then destructing them\r\nfunction emptyTrash()\r\n for _, trash in ipairs(self.getObjects()) do\r\n self.takeObject().destruct()\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d99993", - "Name": "Custom_PDF", - "Transform": { - "posX": -42.0, - "posY": 1.481, - "posZ": 89.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 4.5, - "scaleY": 1.0, - "scaleZ": 4.5 - }, - "Nickname": "Rules Reference", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomPDF": { - "PDFUrl": "https://images-cdn.fantasyflightgames.com/filer_public/c4/b0/c4b0d66c-d79e-411b-bdb5-b5d8c457d4bc/ahc01_rules_reference_web.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "16724b", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": 27.799, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Doom tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "https://i.imgur.com/5Uy4hlP.jpg", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": -41.815, - "posY": 1.853, - "posZ": 31.125, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "fae2f6", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.561, - "posZ": 25.864, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 0.8, - "scaleZ": 0.8 - }, - "Nickname": "Clue tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192501/B768FB57878814EB243CF25C4DFCD7C7CDFF3AC1/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": -44.326, - "posY": 1.716, - "posZ": 31.203, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "3b2550", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.561, - "posZ": -26.426, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 0.8, - "scaleZ": 0.8 - }, - "Nickname": "Clue tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192501/B768FB57878814EB243CF25C4DFCD7C7CDFF3AC1/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": -41.932, - "posY": 1.695, - "posZ": -31.367, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "7bd2a0", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": -24.491, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Horror tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.192479938, - "g": 0.248129934, - "b": 0.451219976 - }, - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357109766/6D35F3D98A4C89696895FACA788F54005B1688D3/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "36be72", - "Name": "Custom_Token", - "Transform": { - "posX": -26.404, - "posY": 1.41, - "posZ": 15.728, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163535/6D9E0756503664D65BDB384656AC6D4BD713F5FC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5c2361", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442654, - "rotX": -2.02706469E-05, - "rotY": 270.015259, - "rotZ": 2.20759175E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163230/ED46F8BBAEDB4D3C96C654D48C56110D35F3F54F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "3a3415", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442368, - "rotX": -1.04253941E-05, - "rotY": 270.015137, - "rotZ": 1.02804506E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357162977/E5D453CC14394519E004B4F8703FC425A7AE3D6C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "4a91a8", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442348, - "rotX": 1.89065361E-06, - "rotY": 270.01532, - "rotZ": 1.59575811E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164483/5E22FEAE253AE65BDE3FA09E4EE7133569F7E194/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "887aae", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442024, - "rotX": -3.432232E-05, - "rotY": 270.016, - "rotZ": -3.73151761E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164251/34DC7172A2B433047DA853796DB52AECE019F99F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "baa831", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000624, - "posZ": 15.94415, - "rotX": -2.49414188E-05, - "rotY": 270.0157, - "rotZ": 2.92043842E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164030/0A12FD352F28A560EA7E7952D8CA618A5245F1E0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "da94da", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.944108, - "rotX": -2.33948358E-05, - "rotY": 270.015656, - "rotZ": 2.18774017E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357114485/8B2B8A9F61CC2D8C1F10977ABDB4BA2423AD143F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "2e1687", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.210006, - "posZ": 15.9440966, - "rotX": -1.57902083E-08, - "rotY": 270.016541, - "rotZ": -2.19759459E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163806/F397C22A8DDB8F22E08E42E6449C3B5D8CFDB313/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "a6f1e0", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.21000612, - "posZ": 15.9440622, - "rotX": -2.09277514E-05, - "rotY": 270.016724, - "rotZ": 4.970206E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357110165/AD791E6817304851C0ABD7AE97AA60326AC14538/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "16fcd6", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": -28.362, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Doom tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "https://i.imgur.com/5Uy4hlP.jpg", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": -44.462, - "posY": 1.838, - "posZ": -31.294, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "93f4a0", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": -22.555, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Damage tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.69512, - "g": 0.00426, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357113311/C9A5F7E450A6845D0D09D7407AA38E9319697D74/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CustomShader": { - "SpecularColor": { - "r": 0.8745098, - "g": 0.8117647, - "b": 0.745098054 - }, - "SpecularIntensity": 0.05, - "SpecularSharpness": 3.000001, - "FresnelStrength": 0.1 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "cd2a02", - "Name": "Custom_Token", - "Transform": { - "posX": -44.425, - "posY": 1.799, - "posZ": -29.129, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.24, - "scaleY": 1.0, - "scaleZ": 0.24 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974350/E16168497E847B690A16F1C0914E4F5C872555B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "10": { - "GUID": "473fd1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -2.114869E-06, - "rotY": 180.0, - "rotZ": -3.44551631E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975474/DFCA4DBDEDCC936D2A2888A98C9B2FEBCD30C22B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "fdb103", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -6.37244239E-06, - "rotY": 180.0, - "rotZ": 1.0489314E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975559/D34362DF759435E36BF4109C8EE397D96EDE6B56/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "9409fe", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.856813E-06, - "rotY": 180.0, - "rotZ": 6.24681149E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975658/F7CBB1000A579C9642A259174E611C0118190022/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "69b7a8", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.10479651E-06, - "rotY": 180.0, - "rotZ": 4.15571648E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975808/E0965014A9756E7CB50A144006363535D43BA6F5/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "df96a2", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 5.15672855E-06, - "rotY": 180.0, - "rotZ": -9.08177E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975959/B5BB691A4BF8E83DD2B514C81EC38E8E082ED787/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "166a74", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 7.670889E-06, - "rotY": 180.0, - "rotZ": 2.730384E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976119/2EFDA564FE2E9F58EB47F21B4CB69117876DCC7A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "a964cf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 9.659233E-06, - "rotY": 180.0, - "rotZ": 3.145974E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976252/7FE12F57BD8ED418097467B0472B2B510C5B3D05/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "f25755", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 9.30901138E-07, - "rotY": 180.0, - "rotZ": 1.40537149E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976402/BFC6C6655B0EB1C3DFD3819AFEA599F8D42CEB64/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "157830", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.49763832E-06, - "rotY": 180.0, - "rotZ": -1.1208811E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976543/32E963CDBABCDEBEF3FB499670577A19689E1D8B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "4b281e", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": -4.87788157E-06, - "rotY": 180.000015, - "rotZ": 2.83701524E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976679/9CFECB352760F82A558905BC6874DD47F807F785/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "731a18", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -1.12864509E-05, - "rotY": 180.0, - "rotZ": 9.893568E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974497/B53160AEF67C32741FB7393B887A745C5A0403A6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "e38f0b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.81104314E-06, - "rotY": 180.000015, - "rotZ": -1.25628785E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976805/C81E859758C7B35531566E99CFFDC10626F184D2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "21": { - "GUID": "be6df1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.09130187E-05, - "rotY": 180.0, - "rotZ": 1.615263E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976909/640634C5EC652071E14B8EDDEB8800ED4CFECBE3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "22": { - "GUID": "5bb1af", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 3.85535827E-07, - "rotY": 180.000015, - "rotZ": -3.36548E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977001/6854680D0F7FE536050A1FDDC5A31B642BAA82FB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "23": { - "GUID": "ca8bdf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.05401759E-05, - "rotY": 180.000015, - "rotZ": 1.26669079E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977114/58B8C6AFC58BEC7F5CDA992B399235E1D1CE216A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "24": { - "GUID": "01363c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.14314139E-06, - "rotY": 180.000015, - "rotZ": 1.73802164E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977249/7D1F115182E691E90A505760A3349D237C0F16E1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "25": { - "GUID": "b72a1d", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.84584269E-06, - "rotY": 180.000015, - "rotZ": 5.3036315E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977373/3EB829A410A896DFBA803FB029394976F6AE0CCB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "26": { - "GUID": "04f0ba", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.02766649E-06, - "rotY": 180.000015, - "rotZ": -1.37765155E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977465/9CA5019A545C6BF2AA1BBB3112267EACAF52C01E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "27": { - "GUID": "cfaf88", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.9677243E-06, - "rotY": 180.000015, - "rotZ": 2.49157665E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977563/7037BEF939CFBDC031481366476C44C7C3EF322D/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "28": { - "GUID": "592346", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.276227E-05, - "rotY": 180.000015, - "rotZ": 1.53182373E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977715/F7661D4ADB8F7071FB4E836B2BAF43C3820848E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "29": { - "GUID": "4cca27", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.13882947E-06, - "rotY": 180.000015, - "rotZ": -4.327291E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977844/58C1F8974EEF4961249B44B8517B350F18753379/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "5099bb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -9.526744E-08, - "rotY": 180.0, - "rotZ": -7.436876E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974625/F8D98C87DCB93C8CDF106FFAB3DA836B22DA8BEB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "30": { - "GUID": "bc08ab", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.68156157E-06, - "rotY": 180.000015, - "rotZ": 2.19717617E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977960/7AC1D20BCD93FD3D035EC26A4C108A82E72EBA86/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "31": { - "GUID": "ae6d21", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.9150783E-06, - "rotY": 180.000015, - "rotZ": 2.574338E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978096/D6F6F7EDF5E14EE6B9EE21F807E7CF4F9F9EC028/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "32": { - "GUID": "8b4d06", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.1233E-05, - "rotY": 180.0, - "rotZ": 1.67793787E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978200/E6CDADB9AAB0A79E8526D7A4A1F49471893F7947/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "33": { - "GUID": "3b3f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.90952255E-06, - "rotY": 180.0, - "rotZ": 6.814834E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978337/818E96F0D2BCB45CC90CEE863677312245594B4C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "34": { - "GUID": "cfdd03", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.08585373E-05, - "rotY": 180.0, - "rotZ": 5.40023439E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978437/B98FDAB4D1EBC1D40E969DEF9CA7143C8D251BB4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "35": { - "GUID": "f89275", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -7.21516062E-06, - "rotY": 180.0, - "rotZ": -2.222035E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978553/9A27448271331CDD6292E14F2CB49D71C50CEBF3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "36": { - "GUID": "f45ba0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.55812164E-06, - "rotY": 180.0, - "rotZ": -4.21542978E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978668/D56BF0309ECBDDC4DC4C8FFB71C8B80B320A5E11/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "37": { - "GUID": "e6cce3", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.363716E-06, - "rotY": 180.0, - "rotZ": 1.25134511E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978779/A532740121C41FEF6E30A9E98F933AE1D15907CB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "38": { - "GUID": "9d9531", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.65363917E-06, - "rotY": 180.0, - "rotZ": 7.55110068E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978910/695348D90CBB1D5EF857964662D3D29478FAECC2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "39": { - "GUID": "9676a0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -4.33588548E-06, - "rotY": 180.0, - "rotZ": 1.34007632E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979053/575819DDF05E4E6FBFA296DD68E7AF6A764CE2B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "68206f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.948265E-06, - "rotY": 180.0, - "rotZ": -2.10753624E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974789/EC9F446EA2DF1E2AE8369138E6873B28852469F1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "40": { - "GUID": "cc6d6a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.05671983E-06, - "rotY": 180.0, - "rotZ": -4.596211E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979152/FFC073DECEC5837E340C37F6CE4F40938E40C514/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "41": { - "GUID": "87fa52", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 6.80305163E-07, - "rotY": 180.0, - "rotZ": -4.47995035E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979285/C69BFF8D1ECC77BF0F5DAD355DD6E84A6A268731/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "42": { - "GUID": "a15b63", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.68703422E-06, - "rotY": 180.0, - "rotZ": 2.98529955E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979439/375AE4A39169F62B3447BDC1AA4A26A6690A66D7/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "43": { - "GUID": "6c1f20", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.27916132E-06, - "rotY": 180.0, - "rotZ": 8.00865E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979609/C5BFCF1A87F14282C61EC920FD21D9B25E883693/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "44": { - "GUID": "66febb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.32305695E-05, - "rotY": 180.0, - "rotZ": -8.536388E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979713/BEB28A94C343F57F6DC3A81F32DDB657CD896EBC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "45": { - "GUID": "56af87", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 8.879468E-06, - "rotY": 180.0, - "rotZ": -3.5132357E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979797/B27B29B4FF6D550F532D46CD0F7A3EDF984FD39A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "46": { - "GUID": "a3fefa", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -5.77568835E-06, - "rotY": 180.0, - "rotZ": 7.164294E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979901/BA1482E12F3DB002FADB2F5C74FA48EA8DE1E31F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "47": { - "GUID": "1e8699", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.50068281E-05, - "rotY": 180.0, - "rotZ": 3.70904536E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980020/3756AD3A8C521914A763443EC79407CB6F38B8E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "48": { - "GUID": "189d66", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -4.77549E-06, - "rotY": 180.0, - "rotZ": -8.039457E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980124/599CAF38B47AD4B29319213CD65C40946DF84777/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "49": { - "GUID": "f08f9a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": -1.32930072E-05, - "rotY": 180.0, - "rotZ": -1.75149926E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980220/D3682CD04922D7709D49C1066AD921221AD92F74/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "9a8f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -2.51728725E-05, - "rotY": 180.0, - "rotZ": -1.07583146E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974892/4AFA955A876D8E5BD28DA6164F38EDFBC9988E0F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "50": { - "GUID": "aec16f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.07346423E-05, - "rotY": 180.0, - "rotZ": 1.03672137E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980328/86FB8E62D4EAD71432622244C92A7B261D1D2F6A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "9a1ec5", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.53614124E-07, - "rotY": 180.0, - "rotZ": -9.400431E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975047/33060EB9820DE72C983844818A81444377736BB1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "8fd050", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.06476E-06, - "rotY": 180.0, - "rotZ": -1.94595268E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975160/6B9DD5F5EBFF943633F1A97D4F2D5EAA15D2E3CA/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "b1b78a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.66816653E-06, - "rotY": 180.0, - "rotZ": -1.42901517E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975274/4E93F71661D310DB5FB0472E49E935F16AD0B16E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "3c293b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.92622952E-06, - "rotY": 180.0, - "rotZ": 4.37234166E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975360/E524936A793CC5871EE74EBE75388A61ABDD44D0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "fd617a", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -45.3, - "posY": 1.581, - "posZ": -20.619, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Resource tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.282239944, - "g": 0.0704999641, - "b": 0.0704999641 - }, - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192729/6881710C4711FB5949E02FAD63D4B416C7DC0AF9/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "910e09", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Resource", - "Description": "", - "GMNotes": "", - "Memo": "resource", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192910/11DDDC7EF621320962FDCF3AE3211D5EDC3D1573/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "00d19a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Ammo", - "Description": "", - "GMNotes": "", - "Memo": "ammo", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230067/741BC33D398801C4BC8368C345EAEF3BE2522823/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Bounty", - "Description": "", - "GMNotes": "", - "Memo": "bounty", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808233/22B6C4A9FEE0814E6A9BDB2C833C79D66F8100B8/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Charge", - "Description": "", - "GMNotes": "", - "Memo": "charge", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230179/E3A30A2D661A12205D98D4D0E374591586C5C486/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Evidence", - "Description": "", - "GMNotes": "", - "Memo": "evidence", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808359/FA36A27E47F940D14B4C45809BF1A0CD7783C8EB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "7a4a9a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Secret", - "Description": "", - "GMNotes": "", - "Memo": "secret", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230311/11AD08ED0D8BF5B237444DAD0AF4F8144297A485/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "2b4628", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Supply", - "Description": "", - "GMNotes": "", - "Memo": "supply", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230402/6486457CE96C04945473D4E079CBFFAF54C7EE1B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "31fa39", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -55.48, - "posY": 1.65, - "posZ": -1.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 0.8, - "scaleZ": 0.8 - }, - "Nickname": "Clue tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192501/B768FB57878814EB243CF25C4DFCD7C7CDFF3AC1/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": -55.495, - "posY": 1.722, - "posZ": -1.639, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "c3ecf4", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -53.24, - "posY": 1.65, - "posZ": -1.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Horror tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.192479938, - "g": 0.248129934, - "b": 0.451219976 - }, - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357109766/6D35F3D98A4C89696895FACA788F54005B1688D3/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "36be72", - "Name": "Custom_Token", - "Transform": { - "posX": -26.404, - "posY": 1.41, - "posZ": 15.728, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163535/6D9E0756503664D65BDB384656AC6D4BD713F5FC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5c2361", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442654, - "rotX": -2.02706469E-05, - "rotY": 270.015259, - "rotZ": 2.20759175E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163230/ED46F8BBAEDB4D3C96C654D48C56110D35F3F54F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "3a3415", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442368, - "rotX": -1.04253941E-05, - "rotY": 270.015137, - "rotZ": 1.02804506E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357162977/E5D453CC14394519E004B4F8703FC425A7AE3D6C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "4a91a8", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442348, - "rotX": 1.89065361E-06, - "rotY": 270.01532, - "rotZ": 1.59575811E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164483/5E22FEAE253AE65BDE3FA09E4EE7133569F7E194/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "887aae", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442024, - "rotX": -3.432232E-05, - "rotY": 270.016, - "rotZ": -3.73151761E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164251/34DC7172A2B433047DA853796DB52AECE019F99F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "baa831", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000624, - "posZ": 15.94415, - "rotX": -2.49414188E-05, - "rotY": 270.0157, - "rotZ": 2.92043842E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164030/0A12FD352F28A560EA7E7952D8CA618A5245F1E0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "da94da", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.944108, - "rotX": -2.33948358E-05, - "rotY": 270.015656, - "rotZ": 2.18774017E-06, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357114485/8B2B8A9F61CC2D8C1F10977ABDB4BA2423AD143F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "2e1687", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.210006, - "posZ": 15.9440966, - "rotX": -1.57902083E-08, - "rotY": 270.016541, - "rotZ": -2.19759459E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163806/F397C22A8DDB8F22E08E42E6449C3B5D8CFDB313/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "a6f1e0", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.21000612, - "posZ": 15.9440622, - "rotX": -2.09277514E-05, - "rotY": 270.016724, - "rotZ": 4.970206E-05, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357110165/AD791E6817304851C0ABD7AE97AA60326AC14538/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "47ffc3", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -55.48, - "posY": 1.65, - "posZ": 1.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Doom tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "https://i.imgur.com/5Uy4hlP.jpg", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": -55.844, - "posY": 1.864, - "posZ": 1.057, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "480bda", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -53.24, - "posY": 1.65, - "posZ": 1.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Damage tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.69512, - "g": 0.00426, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357113311/C9A5F7E450A6845D0D09D7407AA38E9319697D74/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CustomShader": { - "SpecularColor": { - "r": 0.8745098, - "g": 0.8117647, - "b": 0.745098054 - }, - "SpecularIntensity": 0.05, - "SpecularSharpness": 3.000001, - "FresnelStrength": 0.1 - }, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "cd2a02", - "Name": "Custom_Token", - "Transform": { - "posX": -53.473, - "posY": 1.821, - "posZ": 1.095, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.24, - "scaleY": 1.0, - "scaleZ": 0.24 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974350/E16168497E847B690A16F1C0914E4F5C872555B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "10": { - "GUID": "473fd1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -2.114869E-06, - "rotY": 180.0, - "rotZ": -3.44551631E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975474/DFCA4DBDEDCC936D2A2888A98C9B2FEBCD30C22B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "fdb103", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -6.37244239E-06, - "rotY": 180.0, - "rotZ": 1.0489314E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975559/D34362DF759435E36BF4109C8EE397D96EDE6B56/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "9409fe", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.856813E-06, - "rotY": 180.0, - "rotZ": 6.24681149E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975658/F7CBB1000A579C9642A259174E611C0118190022/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "69b7a8", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.10479651E-06, - "rotY": 180.0, - "rotZ": 4.15571648E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975808/E0965014A9756E7CB50A144006363535D43BA6F5/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "df96a2", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 5.15672855E-06, - "rotY": 180.0, - "rotZ": -9.08177E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975959/B5BB691A4BF8E83DD2B514C81EC38E8E082ED787/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "166a74", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 7.670889E-06, - "rotY": 180.0, - "rotZ": 2.730384E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976119/2EFDA564FE2E9F58EB47F21B4CB69117876DCC7A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "a964cf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 9.659233E-06, - "rotY": 180.0, - "rotZ": 3.145974E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976252/7FE12F57BD8ED418097467B0472B2B510C5B3D05/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "f25755", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 9.30901138E-07, - "rotY": 180.0, - "rotZ": 1.40537149E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976402/BFC6C6655B0EB1C3DFD3819AFEA599F8D42CEB64/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "157830", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.49763832E-06, - "rotY": 180.0, - "rotZ": -1.1208811E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976543/32E963CDBABCDEBEF3FB499670577A19689E1D8B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "4b281e", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": -4.87788157E-06, - "rotY": 180.000015, - "rotZ": 2.83701524E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976679/9CFECB352760F82A558905BC6874DD47F807F785/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "731a18", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -1.12864509E-05, - "rotY": 180.0, - "rotZ": 9.893568E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974497/B53160AEF67C32741FB7393B887A745C5A0403A6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "e38f0b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.81104314E-06, - "rotY": 180.000015, - "rotZ": -1.25628785E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976805/C81E859758C7B35531566E99CFFDC10626F184D2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "21": { - "GUID": "be6df1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.09130187E-05, - "rotY": 180.0, - "rotZ": 1.615263E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976909/640634C5EC652071E14B8EDDEB8800ED4CFECBE3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "22": { - "GUID": "5bb1af", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 3.85535827E-07, - "rotY": 180.000015, - "rotZ": -3.36548E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977001/6854680D0F7FE536050A1FDDC5A31B642BAA82FB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "23": { - "GUID": "ca8bdf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.05401759E-05, - "rotY": 180.000015, - "rotZ": 1.26669079E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977114/58B8C6AFC58BEC7F5CDA992B399235E1D1CE216A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "24": { - "GUID": "01363c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.14314139E-06, - "rotY": 180.000015, - "rotZ": 1.73802164E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977249/7D1F115182E691E90A505760A3349D237C0F16E1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "25": { - "GUID": "b72a1d", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.84584269E-06, - "rotY": 180.000015, - "rotZ": 5.3036315E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977373/3EB829A410A896DFBA803FB029394976F6AE0CCB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "26": { - "GUID": "04f0ba", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.02766649E-06, - "rotY": 180.000015, - "rotZ": -1.37765155E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977465/9CA5019A545C6BF2AA1BBB3112267EACAF52C01E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "27": { - "GUID": "cfaf88", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.9677243E-06, - "rotY": 180.000015, - "rotZ": 2.49157665E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977563/7037BEF939CFBDC031481366476C44C7C3EF322D/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "28": { - "GUID": "592346", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.276227E-05, - "rotY": 180.000015, - "rotZ": 1.53182373E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977715/F7661D4ADB8F7071FB4E836B2BAF43C3820848E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "29": { - "GUID": "4cca27", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.13882947E-06, - "rotY": 180.000015, - "rotZ": -4.327291E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977844/58C1F8974EEF4961249B44B8517B350F18753379/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "5099bb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -9.526744E-08, - "rotY": 180.0, - "rotZ": -7.436876E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974625/F8D98C87DCB93C8CDF106FFAB3DA836B22DA8BEB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "30": { - "GUID": "bc08ab", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.68156157E-06, - "rotY": 180.000015, - "rotZ": 2.19717617E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977960/7AC1D20BCD93FD3D035EC26A4C108A82E72EBA86/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "31": { - "GUID": "ae6d21", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.9150783E-06, - "rotY": 180.000015, - "rotZ": 2.574338E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978096/D6F6F7EDF5E14EE6B9EE21F807E7CF4F9F9EC028/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "32": { - "GUID": "8b4d06", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.1233E-05, - "rotY": 180.0, - "rotZ": 1.67793787E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978200/E6CDADB9AAB0A79E8526D7A4A1F49471893F7947/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "33": { - "GUID": "3b3f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.90952255E-06, - "rotY": 180.0, - "rotZ": 6.814834E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978337/818E96F0D2BCB45CC90CEE863677312245594B4C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "34": { - "GUID": "cfdd03", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.08585373E-05, - "rotY": 180.0, - "rotZ": 5.40023439E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978437/B98FDAB4D1EBC1D40E969DEF9CA7143C8D251BB4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "35": { - "GUID": "f89275", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -7.21516062E-06, - "rotY": 180.0, - "rotZ": -2.222035E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978553/9A27448271331CDD6292E14F2CB49D71C50CEBF3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "36": { - "GUID": "f45ba0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -6.55812164E-06, - "rotY": 180.0, - "rotZ": -4.21542978E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978668/D56BF0309ECBDDC4DC4C8FFB71C8B80B320A5E11/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "37": { - "GUID": "e6cce3", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.363716E-06, - "rotY": 180.0, - "rotZ": 1.25134511E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978779/A532740121C41FEF6E30A9E98F933AE1D15907CB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "38": { - "GUID": "9d9531", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.65363917E-06, - "rotY": 180.0, - "rotZ": 7.55110068E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978910/695348D90CBB1D5EF857964662D3D29478FAECC2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "39": { - "GUID": "9676a0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -4.33588548E-06, - "rotY": 180.0, - "rotZ": 1.34007632E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979053/575819DDF05E4E6FBFA296DD68E7AF6A764CE2B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "68206f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.948265E-06, - "rotY": 180.0, - "rotZ": -2.10753624E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974789/EC9F446EA2DF1E2AE8369138E6873B28852469F1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "40": { - "GUID": "cc6d6a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 3.05671983E-06, - "rotY": 180.0, - "rotZ": -4.596211E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979152/FFC073DECEC5837E340C37F6CE4F40938E40C514/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "41": { - "GUID": "87fa52", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 6.80305163E-07, - "rotY": 180.0, - "rotZ": -4.47995035E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979285/C69BFF8D1ECC77BF0F5DAD355DD6E84A6A268731/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "42": { - "GUID": "a15b63", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.68703422E-06, - "rotY": 180.0, - "rotZ": 2.98529955E-07, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979439/375AE4A39169F62B3447BDC1AA4A26A6690A66D7/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "43": { - "GUID": "6c1f20", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -3.27916132E-06, - "rotY": 180.0, - "rotZ": 8.00865E-08, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979609/C5BFCF1A87F14282C61EC920FD21D9B25E883693/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "44": { - "GUID": "66febb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -1.32305695E-05, - "rotY": 180.0, - "rotZ": -8.536388E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979713/BEB28A94C343F57F6DC3A81F32DDB657CD896EBC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "45": { - "GUID": "56af87", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 8.879468E-06, - "rotY": 180.0, - "rotZ": -3.5132357E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979797/B27B29B4FF6D550F532D46CD0F7A3EDF984FD39A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "46": { - "GUID": "a3fefa", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -5.77568835E-06, - "rotY": 180.0, - "rotZ": 7.164294E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979901/BA1482E12F3DB002FADB2F5C74FA48EA8DE1E31F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "47": { - "GUID": "1e8699", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.50068281E-05, - "rotY": 180.0, - "rotZ": 3.70904536E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980020/3756AD3A8C521914A763443EC79407CB6F38B8E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "48": { - "GUID": "189d66", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -4.77549E-06, - "rotY": 180.0, - "rotZ": -8.039457E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980124/599CAF38B47AD4B29319213CD65C40946DF84777/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "49": { - "GUID": "f08f9a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": -1.32930072E-05, - "rotY": 180.0, - "rotZ": -1.75149926E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980220/D3682CD04922D7709D49C1066AD921221AD92F74/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "9a8f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": -2.51728725E-05, - "rotY": 180.0, - "rotZ": -1.07583146E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974892/4AFA955A876D8E5BD28DA6164F38EDFBC9988E0F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "50": { - "GUID": "aec16f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.07346423E-05, - "rotY": 180.0, - "rotZ": 1.03672137E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980328/86FB8E62D4EAD71432622244C92A7B261D1D2F6A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "9a1ec5", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.53614124E-07, - "rotY": 180.0, - "rotZ": -9.400431E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975047/33060EB9820DE72C983844818A81444377736BB1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "8fd050", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": -8.06476E-06, - "rotY": 180.0, - "rotZ": -1.94595268E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975160/6B9DD5F5EBFF943633F1A97D4F2D5EAA15D2E3CA/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "b1b78a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.66816653E-06, - "rotY": 180.0, - "rotZ": -1.42901517E-05, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975274/4E93F71661D310DB5FB0472E49E935F16AD0B16E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "3c293b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 1.92622952E-06, - "rotY": 180.0, - "rotZ": 4.37234166E-06, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975360/E524936A793CC5871EE74EBE75388A61ABDD44D0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "9fadf9", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -51.0, - "posY": 1.65, - "posZ": -1.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Resource tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.282239944, - "g": 0.0704999641, - "b": 0.0704999641 - }, - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192729/6881710C4711FB5949E02FAD63D4B416C7DC0AF9/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "910e09", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Resource", - "Description": "", - "GMNotes": "", - "Memo": "resource", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192910/11DDDC7EF621320962FDCF3AE3211D5EDC3D1573/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "00d19a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Ammo", - "Description": "", - "GMNotes": "", - "Memo": "ammo", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230067/741BC33D398801C4BC8368C345EAEF3BE2522823/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Bounty", - "Description": "", - "GMNotes": "", - "Memo": "bounty", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808233/22B6C4A9FEE0814E6A9BDB2C833C79D66F8100B8/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Charge", - "Description": "", - "GMNotes": "", - "Memo": "charge", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230179/E3A30A2D661A12205D98D4D0E374591586C5C486/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Evidence", - "Description": "", - "GMNotes": "", - "Memo": "evidence", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808359/FA36A27E47F940D14B4C45809BF1A0CD7783C8EB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "7a4a9a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Secret", - "Description": "", - "GMNotes": "", - "Memo": "secret", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230311/11AD08ED0D8BF5B237444DAD0AF4F8144297A485/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "2b4628", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Supply", - "Description": "", - "GMNotes": "", - "Memo": "supply", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230402/6486457CE96C04945473D4E079CBFFAF54C7EE1B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "170f10", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": -51.0, - "posY": 1.65, - "posZ": 1.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Connection markers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/949588657208009702/1786DA3A72B61BF39ADE9577B177797450011602/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "7234af", - "Name": "Custom_Tile", - "Transform": { - "posX": -50.369, - "posY": 1.746, - "posZ": -0.17, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Path", - "Description": "", - "GMNotes": "", - "Memo": "path", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.60453, - "g": 0.60453, - "b": 0.60453 - }, - "Tags": [ - "Location" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/vppt2my.png", - "ImageSecondaryURL": "https://i.imgur.com/vppt2my.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "44b0c5", - "Name": "Custom_Tile", - "Transform": { - "posX": -39.7933121, - "posY": 1.63758957, - "posZ": 2.038383, - "rotX": 359.9201, - "rotY": 269.9961, - "rotZ": 0.0168742146, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "path", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.6045295, - "g": 0.6045295, - "b": 0.6045295 - }, - "Tags": [ - "Location" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/HyfE8m8.png", - "ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "5b38c6", - "Name": "Custom_Tile", - "Transform": { - "posX": -38.8217163, - "posY": 1.99356019, - "posZ": 0.4159239, - "rotX": 359.9201, - "rotY": 272.9828, - "rotZ": 0.01687373, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "", - "Description": "", - "GMNotes": "path", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.6045295, - "g": 0.6045295, - "b": 0.6045295 - }, - "Tags": [ - "Location" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/dHKBLoD.png", - "ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "3aab97", - "Name": "FogOfWarTrigger", - "Transform": { - "posX": -21.648, - "posY": 0.87, - "posZ": 22.438, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 2.8, - "scaleY": 0.55, - "scaleZ": 3.8 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.191999972, - "g": 0.701, - "b": 0.167999953, - "a": 0.75 - }, - "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, - "FogColor": "Green", - "FogHidePointers": false, - "FogReverseHiding": false, - "FogSeethrough": true, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "42cd6e", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -57.92, - "posY": 2.953, - "posZ": -82.991, - "rotX": 90.0, - "rotY": 135.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leaked Items", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/166Kdeqb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1016065725028510450/7BC76948EE00979A428636EF40D46AE8634760A6/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "96fbfa", - "Name": "Card", - "Transform": { - "posX": -44.346, - "posY": 3.23, - "posZ": -112.683, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Well-Funded", - "Description": "", - "GMNotes": "{\n \"id\": \"10051\",\n \"type\": \"Skill\",\n \"class\": \"Seeker\",\n \"level\": 0,\n \"traits\": \"Fortune.\",\n \"wildIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 100, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6543e6", - "Name": "Card", - "Transform": { - "posX": -44.346, - "posY": 3.23, - "posZ": -110.431, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Uncanny Growth", - "Description": "", - "GMNotes": "{\n \"id\": \"10045\",\n \"type\": \"Event\",\n \"class\": \"Seeker\",\n \"cost\": 1,\n \"level\": 0,\n \"traits\": \"Insight. Science.\",\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 101, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0aa967", - "Name": "Card", - "Transform": { - "posX": -44.346, - "posY": 3.23, - "posZ": -108.179, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ravenous Myconid", - "Description": "Unidentified", - "GMNotes": "{\n \"id\": \"10044\",\n \"type\": \"Asset\",\n \"class\": \"Seeker\",\n \"cost\": 2,\n \"level\": 0,\n \"traits\": \"Creature. Monster. Flora. Science.\",\n \"bonded\": [\n {\n \"count\": 1,\n \"id\": \"10045\"\n }\n ],\n \"agilityIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 104, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48be49", - "Name": "Card", - "Transform": { - "posX": -44.346, - "posY": 3.23, - "posZ": -105.927, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Microscope", - "Description": "", - "GMNotes": "{\n \"id\": \"10042\",\n \"type\": \"Asset\",\n \"class\": \"Seeker\",\n \"cost\": 2,\n \"level\": 0,\n \"traits\": \"Item. Tool. Science.\",\n \"intellectIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 103, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "72efed", - "Name": "Card", - "Transform": { - "posX": -44.346, - "posY": 3.23, - "posZ": -103.674, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Charles West III", - "Description": "Knows His Purpose", - "GMNotes": "{\n \"id\": \"10041\",\n \"type\": \"Asset\",\n \"class\": \"Seeker\",\n \"cost\": 3,\n \"level\": 0,\n \"traits\": \"Ally. Science.\",\n \"intellectIcons\": 1,\n \"combatIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 105, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da9727", - "Name": "Card", - "Transform": { - "posX": -44.346, - "posY": 3.23, - "posZ": -101.422, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Chemistry Set", - "Description": "", - "GMNotes": "{\n \"id\": \"10040\",\n \"type\": \"Asset\",\n \"class\": \"Seeker\",\n \"cost\": 2,\n \"level\": 0,\n \"traits\": \"Item. Tool. Science.\",\n \"intellectIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 102, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e0f396", - "Name": "Card", - "Transform": { - "posX": -41.183, - "posY": 3.23, - "posZ": -112.683, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pushed to the Limit", - "Description": "", - "GMNotes": "{\n \"id\": \"10113\",\n \"type\": \"Event\",\n \"class\": \"Survivor\",\n \"cost\": 2,\n \"level\": 0,\n \"traits\": \"Tactic. Improvised.\",\n \"willpowerIcons\": 1,\n \"combatIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 109, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "975d79", - "Name": "Card", - "Transform": { - "posX": -41.183, - "posY": 3.23, - "posZ": -110.431, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sparrow Mask", - "Description": "The Wanderer's Companion", - "GMNotes": "{\n \"id\": \"10111\",\n \"type\": \"Asset\",\n \"class\": \"Survivor\",\n \"cost\": 1,\n \"level\": 0,\n \"traits\": \"Item. Charm. Mask.\",\n \"willpowerIcons\": 1,\n \"agilityIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 110, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45a724", - "Name": "Card", - "Transform": { - "posX": -41.183, - "posY": 3.23, - "posZ": -108.179, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pitchfork", - "Description": "", - "GMNotes": "{\n \"id\": \"10110\",\n \"type\": \"Asset\",\n \"class\": \"Survivor\",\n \"cost\": 3,\n \"level\": 0,\n \"traits\": \"Item. Tool. Weapon. Melee.\",\n \"combatIcons\": 1,\n \"agilityIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 111, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc8c4d", - "Name": "Card", - "Transform": { - "posX": -41.183, - "posY": 3.23, - "posZ": -105.927, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Long Shot", - "Description": "", - "GMNotes": "{\n \"id\": \"10116\",\n \"type\": \"Skill\",\n \"class\": \"Survivor\",\n \"level\": 0,\n \"traits\": \"Practiced.\",\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 106, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d5944e", - "Name": "Card", - "Transform": { - "posX": -41.183, - "posY": 3.23, - "posZ": -103.674, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wrong Place, Right Time", - "Description": "", - "GMNotes": "{\n \"id\": \"10115\",\n \"type\": \"Event\",\n \"class\": \"Survivor\",\n \"cost\": 0,\n \"level\": 0,\n \"traits\": \"Spirit. Double.\",\n \"willpowerIcons\": 1,\n \"agilityIcons\": 1,\n \"wildIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 107, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7b6ed1", - "Name": "Card", - "Transform": { - "posX": -41.183, - "posY": 3.23, - "posZ": -101.422, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stall for Time", - "Description": "", - "GMNotes": "{\n \"id\": \"10114\",\n \"type\": \"Event\",\n \"class\": \"Survivor\",\n \"cost\": 1,\n \"level\": 0,\n \"traits\": \"Tactic. Trick.\",\n \"willpowerIcons\": 1,\n \"intellectIcons\": 1,\n \"cycle\": \"The Feast of Hemlock Vale\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 108, - "SidewaysCard": false, - "CustomDeck": { - "1": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 2, - "BackIsHidden": false, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "94f23b", - "Name": "CardCustom", - "Transform": { - "posX": 0.0, - "posY": 0.0, - "posZ": -2.257, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alice Luxley (2)", - "Description": "Ally. Detective. Police.", - "GMNotes": "{\r\n \"id\": \"b5151\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Detective. Police.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Beta\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266400, - "SidewaysCard": false, - "CustomDeck": { - "2664": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2038486156990333452/327F5C791C48AF81F5EBCF5ED72211543E4DFB33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a20aef", - "Name": "CardCustom", - "Transform": { - "posX": 50.601, - "posY": 1.495, - "posZ": 36.996, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dragon Pole (3)", - "Description": "Item. Weapon. Melee.", - "GMNotes": "{\r\n \"id\": \"b8060\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Beta\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266500, - "SidewaysCard": false, - "CustomDeck": { - "2665": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2038486156990333641/5C6B3E30DDCB25F7DA24B2B7C43688AA2AE4744E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5cb973", - "Name": "CardCustom", - "Transform": { - "posX": 8.972, - "posY": 5.01, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fine Clothes (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"B2023\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Clothing.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 542300, - "SidewaysCard": false, - "CustomDeck": { - "5423": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2022727271907675521/7CD01B7199EDE77C9E62CC6D2EAFF53D99AF5BC5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c32e2", - "Name": "CardCustom", - "Transform": { - "posX": 8.972, - "posY": 3.706, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sword Cane (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"A2023\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 542400, - "SidewaysCard": false, - "CustomDeck": { - "5424": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2022727271907674847/3938E37E1C41BA1E6F1DE628CE1D108E54C668EA/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "106418", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -65.091, - "posY": 1.495, - "posZ": -78.526, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 3.0, - "scaleY": 3.0, - "scaleZ": 3.0 - }, - "Nickname": "Chaos Token Reserve", - "Description": "Chaos Bag", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/87098596225685535/6C95EB6308A0A9E89367DD67D5C65D09EB3C06A0/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/959719855127875098/FDA724CE3F0F9C62A141C0B33CAB238C40EDEE32/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -19.354, - "posY": 2.408, - "posZ": -75.738, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Frost", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583104677/195F93C063A8881B805CE2FD4767A9718B27B6AE/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "16a9a7", - "Name": "Custom_Tile", - "Transform": { - "posX": 22.651, - "posY": 3.449, - "posZ": -27.771, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8e3aab", - "Name": "Custom_Tile", - "Transform": { - "posX": 22.545, - "posY": 3.45, - "posZ": -27.077, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0b1aca", - "Name": "Custom_Tile", - "Transform": { - "posX": 23.833, - "posY": 3.447, - "posZ": -30.132, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Elder Sign", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/nEmqjmj.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e31821", - "Name": "Custom_Tile", - "Transform": { - "posX": 23.654, - "posY": 3.447, - "posZ": -29.38, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Auto-fail", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/lns4fhz.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "38609c", - "Name": "Custom_Tile", - "Transform": { - "posX": 23.817, - "posY": 3.448, - "posZ": -28.107, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Elder Thing", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/ttnspKt.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1a1506", - "Name": "Custom_Tile", - "Transform": { - "posX": 23.721, - "posY": 3.448, - "posZ": -26.779, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Tablet", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/1plY463.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7d6103", - "Name": "Custom_Tile", - "Transform": { - "posX": 25.403, - "posY": 3.445, - "posZ": -29.87, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Cultist", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/VzhJJaH.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc8bbb", - "Name": "Custom_Tile", - "Transform": { - "posX": 24.814, - "posY": 3.446, - "posZ": -29.037, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Skull", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/stbBxtx.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "298b5f", - "Name": "Custom_Tile", - "Transform": { - "posX": 25.119, - "posY": 3.446, - "posZ": -28.34, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-8", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/9t3rPTQ.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "81a1d7", - "Name": "Custom_Tile", - "Transform": { - "posX": 25.133, - "posY": 3.446, - "posZ": -27.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-7", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/4WRD42n.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2460df", - "Name": "Custom_Tile", - "Transform": { - "posX": 26.304, - "posY": 3.443, - "posZ": -30.5, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-6", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/c9qdSzS.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1df0a5", - "Name": "Custom_Tile", - "Transform": { - "posX": 26.236, - "posY": 3.444, - "posZ": -29.085, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-5", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/3Ym1IeG.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "984eec", - "Name": "Custom_Tile", - "Transform": { - "posX": 26.399, - "posY": 3.444, - "posZ": -28.851, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-4", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/qrgGQRD.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a7a9cb", - "Name": "Custom_Tile", - "Transform": { - "posX": 26.464, - "posY": 3.444, - "posZ": -28.086, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-3", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/yfs8gHq.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8af600", - "Name": "Custom_Tile", - "Transform": { - "posX": 29.182, - "posY": 5.219, - "posZ": -31.924, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-2", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/bfTg2hb.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b644d2", - "Name": "Custom_Tile", - "Transform": { - "posX": 28.789, - "posY": 5.218, - "posZ": -31.25, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-1", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/w3XbrCC.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a8592", - "Name": "Custom_Tile", - "Transform": { - "posX": 28.78, - "posY": 8.487, - "posZ": -28.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "0", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/btEtVfd.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a15273", - "Name": "Custom_Tile", - "Transform": { - "posX": 28.505, - "posY": 8.454, - "posZ": -28.951, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "+1", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/uIx8jbY.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "37be78", - "Name": "Custom_Model", - "Transform": { - "posX": -23.89, - "posY": 1.52, - "posZ": -31.107, - "rotX": 0.0, - "rotY": 190.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Clue Counter", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1035211763828036632/8CBB93F4FCFB3A6DB42AB6BC1188EA4559FF0A87/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "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": "-- 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)\nrequire(\"playermat/ClueCounter\")\nend)\n__bundle_register(\"playermat/ClueCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Table of items which can be counted in this Bowl\r\n-- Each entry has 2 things to enter\r\n-- a name (what is in the name field of that object)\r\n-- a value (how much it is worth)\r\n-- a number in the items description will override the number entry in this table\r\nlocal validCountItemList = {\r\n [\"Clue\"] = 1,\r\n [\"\"] = 1\r\n}\r\nlocal trashGUID = \"70b9f6\"\r\nexposedValue = 0\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label = \"\",\r\n click_function = \"removeAllClues\",\r\n function_owner = self,\r\n position = { 0, 0.1, 0 },\r\n height = 0,\r\n width = 0,\r\n font_color = { 0, 0, 0 },\r\n font_size = 2000\r\n })\r\n loopID = Wait.time(countItems, 1, -1)\r\nend\r\n\r\n-- Activated once per second, counts items in bowls\r\nfunction countItems()\r\n local totalValue = 0\r\n local countableItems = findValidItemsInSphere()\r\n for _, entry in ipairs(countableItems) do\r\n local descValue = tonumber(entry.hit_object.getDescription())\r\n local stackMult = math.abs(entry.hit_object.getQuantity())\r\n -- Use value in description if available\r\n if descValue ~= nil then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n -- Otherwise use the value in validCountItemList\r\n totalValue = totalValue + validCountItemList[entry.hit_object.getName()] * stackMult\r\n end\r\n end\r\n exposedValue = totalValue\r\n self.editButton({ index = 0, label = totalValue })\r\nend\r\n\r\nfunction findValidItemsInSphere()\r\n local items = Physics.cast({\r\n origin = self.getPosition(),\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 2, 2, 2 },\r\n --debug=true\r\n })\r\n\r\n retval = {}\r\n for _, entry in ipairs(items) do\r\n --Ignore the bowl\r\n if entry.hit_object ~= self then\r\n --Ignore if not in validCountItemList\r\n local tableEntry = validCountItemList[entry.hit_object.getName()]\r\n if tableEntry ~= nil then\r\n table.insert(retval, entry)\r\n end\r\n end\r\n end\r\n return retval\r\nend\r\n\r\nfunction removeAllClues()\r\n startLuaCoroutine(self, \"clueRemovalCoroutine\")\r\nend\r\n\r\nfunction clueRemovalCoroutine()\r\n for _, entry in ipairs(findValidItemsInSphere()) do\r\n -- Do not put the table in the garbage\r\n if entry.hit_object.getGUID() ~= \"4ee1f2\" then\r\n -- delay for animation purposes\r\n for k = 1, 10 do\r\n coroutine.yield(0)\r\n end\r\n getObjectFromGUID(trashGUID).putObject(entry.hit_object)\r\n end\r\n end\r\n return 1\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1769ed", - "Name": "Custom_Model", - "Transform": { - "posX": -59.402, - "posY": 1.52, - "posZ": -22.586, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Clue Counter", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1035211763828036632/8CBB93F4FCFB3A6DB42AB6BC1188EA4559FF0A87/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "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": "-- 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)\nrequire(\"playermat/ClueCounter\")\nend)\n__bundle_register(\"playermat/ClueCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Table of items which can be counted in this Bowl\r\n-- Each entry has 2 things to enter\r\n-- a name (what is in the name field of that object)\r\n-- a value (how much it is worth)\r\n-- a number in the items description will override the number entry in this table\r\nlocal validCountItemList = {\r\n [\"Clue\"] = 1,\r\n [\"\"] = 1\r\n}\r\nlocal trashGUID = \"70b9f6\"\r\nexposedValue = 0\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label = \"\",\r\n click_function = \"removeAllClues\",\r\n function_owner = self,\r\n position = { 0, 0.1, 0 },\r\n height = 0,\r\n width = 0,\r\n font_color = { 0, 0, 0 },\r\n font_size = 2000\r\n })\r\n loopID = Wait.time(countItems, 1, -1)\r\nend\r\n\r\n-- Activated once per second, counts items in bowls\r\nfunction countItems()\r\n local totalValue = 0\r\n local countableItems = findValidItemsInSphere()\r\n for _, entry in ipairs(countableItems) do\r\n local descValue = tonumber(entry.hit_object.getDescription())\r\n local stackMult = math.abs(entry.hit_object.getQuantity())\r\n -- Use value in description if available\r\n if descValue ~= nil then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n -- Otherwise use the value in validCountItemList\r\n totalValue = totalValue + validCountItemList[entry.hit_object.getName()] * stackMult\r\n end\r\n end\r\n exposedValue = totalValue\r\n self.editButton({ index = 0, label = totalValue })\r\nend\r\n\r\nfunction findValidItemsInSphere()\r\n local items = Physics.cast({\r\n origin = self.getPosition(),\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 2, 2, 2 },\r\n --debug=true\r\n })\r\n\r\n retval = {}\r\n for _, entry in ipairs(items) do\r\n --Ignore the bowl\r\n if entry.hit_object ~= self then\r\n --Ignore if not in validCountItemList\r\n local tableEntry = validCountItemList[entry.hit_object.getName()]\r\n if tableEntry ~= nil then\r\n table.insert(retval, entry)\r\n end\r\n end\r\n end\r\n return retval\r\nend\r\n\r\nfunction removeAllClues()\r\n startLuaCoroutine(self, \"clueRemovalCoroutine\")\r\nend\r\n\r\nfunction clueRemovalCoroutine()\r\n for _, entry in ipairs(findValidItemsInSphere()) do\r\n -- Do not put the table in the garbage\r\n if entry.hit_object.getGUID() ~= \"4ee1f2\" then\r\n -- delay for animation purposes\r\n for k = 1, 10 do\r\n coroutine.yield(0)\r\n end\r\n getObjectFromGUID(trashGUID).putObject(entry.hit_object)\r\n end\r\n end\r\n return 1\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "032300", - "Name": "Custom_Model", - "Transform": { - "posX": -36.867, - "posY": 1.52, - "posZ": 31.025, - "rotX": 0.0, - "rotY": 9.999998, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Clue Counter", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1035211763828036632/8CBB93F4FCFB3A6DB42AB6BC1188EA4559FF0A87/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "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": "-- 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(\"playermat/ClueCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Table of items which can be counted in this Bowl\r\n-- Each entry has 2 things to enter\r\n-- a name (what is in the name field of that object)\r\n-- a value (how much it is worth)\r\n-- a number in the items description will override the number entry in this table\r\nlocal validCountItemList = {\r\n [\"Clue\"] = 1,\r\n [\"\"] = 1\r\n}\r\nlocal trashGUID = \"70b9f6\"\r\nexposedValue = 0\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label = \"\",\r\n click_function = \"removeAllClues\",\r\n function_owner = self,\r\n position = { 0, 0.1, 0 },\r\n height = 0,\r\n width = 0,\r\n font_color = { 0, 0, 0 },\r\n font_size = 2000\r\n })\r\n loopID = Wait.time(countItems, 1, -1)\r\nend\r\n\r\n-- Activated once per second, counts items in bowls\r\nfunction countItems()\r\n local totalValue = 0\r\n local countableItems = findValidItemsInSphere()\r\n for _, entry in ipairs(countableItems) do\r\n local descValue = tonumber(entry.hit_object.getDescription())\r\n local stackMult = math.abs(entry.hit_object.getQuantity())\r\n -- Use value in description if available\r\n if descValue ~= nil then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n -- Otherwise use the value in validCountItemList\r\n totalValue = totalValue + validCountItemList[entry.hit_object.getName()] * stackMult\r\n end\r\n end\r\n exposedValue = totalValue\r\n self.editButton({ index = 0, label = totalValue })\r\nend\r\n\r\nfunction findValidItemsInSphere()\r\n local items = Physics.cast({\r\n origin = self.getPosition(),\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 2, 2, 2 },\r\n --debug=true\r\n })\r\n\r\n retval = {}\r\n for _, entry in ipairs(items) do\r\n --Ignore the bowl\r\n if entry.hit_object ~= self then\r\n --Ignore if not in validCountItemList\r\n local tableEntry = validCountItemList[entry.hit_object.getName()]\r\n if tableEntry ~= nil then\r\n table.insert(retval, entry)\r\n end\r\n end\r\n end\r\n return retval\r\nend\r\n\r\nfunction removeAllClues()\r\n startLuaCoroutine(self, \"clueRemovalCoroutine\")\r\nend\r\n\r\nfunction clueRemovalCoroutine()\r\n for _, entry in ipairs(findValidItemsInSphere()) do\r\n -- Do not put the table in the garbage\r\n if entry.hit_object.getGUID() ~= \"4ee1f2\" then\r\n -- delay for animation purposes\r\n for k = 1, 10 do\r\n coroutine.yield(0)\r\n end\r\n getObjectFromGUID(trashGUID).putObject(entry.hit_object)\r\n end\r\n end\r\n return 1\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playermat/ClueCounter\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d86b7c", - "Name": "Custom_Model", - "Transform": { - "posX": -59.45, - "posY": 1.52, - "posZ": 9.589, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 0.33, - "scaleY": 0.33, - "scaleZ": 0.33 - }, - "Nickname": "Clue Counter", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1035211763828036632/8CBB93F4FCFB3A6DB42AB6BC1188EA4559FF0A87/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "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": "-- 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(\"playermat/ClueCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Table of items which can be counted in this Bowl\r\n-- Each entry has 2 things to enter\r\n-- a name (what is in the name field of that object)\r\n-- a value (how much it is worth)\r\n-- a number in the items description will override the number entry in this table\r\nlocal validCountItemList = {\r\n [\"Clue\"] = 1,\r\n [\"\"] = 1\r\n}\r\nlocal trashGUID = \"70b9f6\"\r\nexposedValue = 0\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label = \"\",\r\n click_function = \"removeAllClues\",\r\n function_owner = self,\r\n position = { 0, 0.1, 0 },\r\n height = 0,\r\n width = 0,\r\n font_color = { 0, 0, 0 },\r\n font_size = 2000\r\n })\r\n loopID = Wait.time(countItems, 1, -1)\r\nend\r\n\r\n-- Activated once per second, counts items in bowls\r\nfunction countItems()\r\n local totalValue = 0\r\n local countableItems = findValidItemsInSphere()\r\n for _, entry in ipairs(countableItems) do\r\n local descValue = tonumber(entry.hit_object.getDescription())\r\n local stackMult = math.abs(entry.hit_object.getQuantity())\r\n -- Use value in description if available\r\n if descValue ~= nil then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n -- Otherwise use the value in validCountItemList\r\n totalValue = totalValue + validCountItemList[entry.hit_object.getName()] * stackMult\r\n end\r\n end\r\n exposedValue = totalValue\r\n self.editButton({ index = 0, label = totalValue })\r\nend\r\n\r\nfunction findValidItemsInSphere()\r\n local items = Physics.cast({\r\n origin = self.getPosition(),\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 2, 2, 2 },\r\n --debug=true\r\n })\r\n\r\n retval = {}\r\n for _, entry in ipairs(items) do\r\n --Ignore the bowl\r\n if entry.hit_object ~= self then\r\n --Ignore if not in validCountItemList\r\n local tableEntry = validCountItemList[entry.hit_object.getName()]\r\n if tableEntry ~= nil then\r\n table.insert(retval, entry)\r\n end\r\n end\r\n end\r\n return retval\r\nend\r\n\r\nfunction removeAllClues()\r\n startLuaCoroutine(self, \"clueRemovalCoroutine\")\r\nend\r\n\r\nfunction clueRemovalCoroutine()\r\n for _, entry in ipairs(findValidItemsInSphere()) do\r\n -- Do not put the table in the garbage\r\n if entry.hit_object.getGUID() ~= \"4ee1f2\" then\r\n -- delay for animation purposes\r\n for k = 1, 10 do\r\n coroutine.yield(0)\r\n end\r\n getObjectFromGUID(trashGUID).putObject(entry.hit_object)\r\n end\r\n end\r\n return 1\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playermat/ClueCounter\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4a3aa4", - "Name": "Custom_Token", - "Transform": { - "posX": -5.3, - "posY": 1.633, - "posZ": -5.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.4, - "scaleY": 1.0, - "scaleZ": 0.4 - }, - "Nickname": "Master Clue Counter\n", - "Description": "Click to remove all clues from all investigators", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.87451, - "g": 0.87451, - "b": 0.87451 - }, - "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/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/MasterClueCounter\")\nend)\n__bundle_register(\"core/MasterClueCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\ncount = 0\r\nuseClickableCounters = false\r\n\r\nlocal playmatAPI = require(\"playermat/PlaymatApi\")\r\nfunction onSave() return JSON.encode(useClickableCounters) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n useClickableCounters = JSON.decode(savedData)\r\n end\r\n self.createButton({\r\n label = \"0\",\r\n click_function = \"removeAllPlayerClues\",\r\n tooltip = \"Click here to remove all collected clues\",\r\n function_owner = self,\r\n position = { 0, 0.06, 0 },\r\n height = 900,\r\n width = 900,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n loopID = Wait.time(sumClues, 2, -1)\r\nend\r\n\r\n-- removes all player clues by calling the respective function from the counting bowls / clickers\r\nfunction removeAllPlayerClues()\r\n printToAll(count .. \" clue(s) from playermats removed.\", \"White\")\r\n playmatAPI.removeClues(\"All\")\r\n self.editButton({ index = 0, label = \"0\" })\r\nend\r\n\r\n-- gets the counted values from the counting bowls / clickers and sums them up\r\nfunction sumClues()\r\n count = playmatAPI.getClueCount(useClickableCounters, \"All\")\r\n self.editButton({ index = 0, label = tostring(count) })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "false", - "XmlUI": "" - }, - { - "GUID": "7165a9", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -61.264, - "posY": 0.783, - "posZ": -90.083, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 5.25, - "scaleY": 5.25, - "scaleZ": 5.25 - }, - "Nickname": "Legacy Assets", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "http://pastebin.com/raw.php?i=SyH06Cdm", - "DiffuseURL": "http://i.imgur.com/tfCQLkm.jpg", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "272489", - "Name": "Custom_Model_Infinite_Bag", - "Transform": { - "posX": 28.704, - "posY": 4.31, - "posZ": -35.371, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Toggle-able Resource tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.28227, - "g": 0.07053, - "b": 0.07053 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192729/6881710C4711FB5949E02FAD63D4B416C7DC0AF9/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 7, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "038906", - "Name": "Custom_Token", - "Transform": { - "posX": -68.064, - "posY": 4.294, - "posZ": 38.802, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.2, - "scaleY": 1.0, - "scaleZ": 0.2 - }, - "Nickname": "Resources", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/c7b94hv.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "32a06a", - "Name": "Custom_Token", - "Transform": { - "posX": -64.1392746, - "posY": 1.62164152, - "posZ": 2.4275, - "rotX": 359.920227, - "rotY": 270.0255, - "rotZ": 0.016780857, - "scaleX": 0.2, - "scaleY": 1.0, - "scaleZ": 0.2 - }, - "Nickname": "Resources", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/le5gb9M.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "ebbc3d", - "Name": "Custom_Token", - "Transform": { - "posX": -64.13942, - "posY": 1.62164187, - "posZ": 2.42749381, - "rotX": 359.9201, - "rotY": 270.025452, - "rotZ": 0.0168974362, - "scaleX": 0.2, - "scaleY": 1.0, - "scaleZ": 0.2 - }, - "Nickname": "Resources", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/4dbb10f.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "676d75", - "Name": "Bag", - "Transform": { - "posX": 27.125, - "posY": 4.037, - "posZ": -35.858, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pre-Errata Campaign Guides", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "ea71cc", - "Name": "Custom_PDF", - "Transform": { - "posX": 15.576, - "posY": 3.578, - "posZ": 41.178, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.18, - "scaleY": 1.0, - "scaleZ": 2.18 - }, - "Nickname": "The Path to Carcosa Campaign Guide", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://images-cdn.fantasyflightgames.com/filer_public/46/60/4660dc1b-9b7a-42c0-9331-687561e11151/path_to_carcosa_campaign_guide_eng.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8e1339", - "Name": "Custom_PDF", - "Transform": { - "posX": 14.895, - "posY": 3.576, - "posZ": 40.66, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.18, - "scaleY": 1.0, - "scaleZ": 2.18 - }, - "Nickname": "The Dunwich Legacy Campaign Guide", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://images-cdn.fantasyflightgames.com/filer_public/30/64/30640944-6e5c-4605-8406-6a1eb2e46a3f/dunwich_legacy_campaign_guide_eng.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "090d61", - "Name": "Custom_PDF", - "Transform": { - "posX": 43.256, - "posY": 3.884, - "posZ": 39.756, - "rotX": 22.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.18, - "scaleY": 1.0, - "scaleZ": 2.18 - }, - "Nickname": "The Circle Undone Campaign Guide", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://images-cdn.fantasyflightgames.com/filer_public/1e/ce/1ece6885-3bc6-4706-bbd0-7f5fe1813035/the_circle_undone_campaign_guide_final_release.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ec5c7e", - "Name": "Custom_PDF", - "Transform": { - "posX": 43.129, - "posY": 3.578, - "posZ": 41.201, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.18, - "scaleY": 1.0, - "scaleZ": 2.18 - }, - "Nickname": "The Forgotten Age Campaign Guide", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://images-cdn.fantasyflightgames.com/filer_public/7b/82/7b824169-ece9-4152-83eb-dc108548fa88/the_forgotten_age_campaign_guide_eng_final_release.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "8fa254", - "Name": "Deck", - "Transform": { - "posX": 43.661, - "posY": 2.649, - "posZ": -66.588, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pre-Errata Cards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 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": [ - 431111, - 368928, - 553734, - 450011, - 370422, - 232047, - 232249, - 371209, - 231921, - 232226, - 233550, - 275436, - 234206, - 315249, - 272328, - 553733, - 270508, - 233339, - 430907, - 369000, - 450012, - 275330, - 232024, - 232046, - 553401, - 275433, - 232900, - 275434, - 271619, - 232824, - 232022, - 232825, - 232264, - 232805, - 275435, - 368423, - 230626, - 270609, - 430643, - 450049, - 273707, - 449400, - 270305, - 448235, - 293014, - 430651, - 230343, - 368427, - 450010, - 230620, - 231613, - 315244, - 371605, - 275331, - 368840, - 270406, - 232045, - 369424, - 232044, - 447932, - 449904, - 588403, - 538928, - 440722, - 440924, - 538825, - 374417, - 504613, - 266200 - ], - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2316": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493212055041441/90F035BD69A7C5C6B6F43426DDDA3A09DFCBCBDF/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2319": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378687267/945F8EF94DC605E0731E37C1BCD3FE65FCB86D02/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686851/006B65A59360F63826342C2B1A062C1AD727BD53/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2322": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2328": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2333": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999385819527677/3AD8DFFFBFF54DB098AD3E00BB7E75DA0590FE8B/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/782999241296027643/326876D4B46DF777AA1293989DEEE6A810ED027B/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2335": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999385819523376/198434B0178F76107193CB52D7FC70E5265E526E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/782999385819522537/207CCD9C85ECB70A339C09170ABB42E139924AA0/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2342": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2662": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656728123511551078/AEAB50847DAF7047B1420F99F34EE05551D112A1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "2703": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2704": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2705": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2706": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2716": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2723": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2737": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2753": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2754": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "2930": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3689": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3690": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3694": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3704": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3712": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3716": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "3744": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4309": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4311": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4407": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4479": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "4482": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/780749631102998699/DA1D7C58FE177F46169558EF1D8301754A91A73A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/780749631103001215/3FF9DC51D7737267B68EC5D9CF17BE421681663B/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "4494": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907888685007/A30CCF98600F1E9FA0F3EE674FE35BCD86CB6ECB/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907888685525/36510337B6E7EC46984AE8AE341BA5E3DFB172F3/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "4499": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163976478/FC378E356EF89EC9AB130A70B63D7129EA3FA10B/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163977116/B4A1405FC47AD67007EA09C27B703F4F3848C8A0/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "4500": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378736378/628E179D5305E95AFC25D86526320A24F8B27391/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378732934/F41E84FCDC0AB52634348C439A6D1A725CEB8115/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "5046": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "5389": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - }, - "5534": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672550/E5E1C8EE53C7692025E048F0A04BE98D6FA17111/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672810/20E21AC471D7E5E1545F0EAE635A093718D4C7CF/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "5537": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784110538844098999/61B68D9375F5BBC2974723215EC6855B5605EFD9/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/784110538844100123/A9A0ACCD9ADB5C20745B6AB314C472ECAB71C300/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - }, - "5884": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "3b3c0a", - "Name": "Card", - "Transform": { - "posX": -68.997, - "posY": 1.497, - "posZ": -92.311, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Drawing the Sign", - "Description": "Basic Weakness", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431111, - "SidewaysCard": false, - "CustomDeck": { - "4311": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a56ffe", - "Name": "Card", - "Transform": { - "posX": 14.712, - "posY": 1.949, - "posZ": -43.078, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wendy's Amulet", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368928, - "SidewaysCard": false, - "CustomDeck": { - "3689": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a39d6e", - "Name": "Card", - "Transform": { - "posX": 3.792, - "posY": 1.327, - "posZ": -45.991, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "In Azathoth's Domain", - "Description": "Act 2", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553734, - "SidewaysCard": true, - "CustomDeck": { - "5537": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784110538844098999/61B68D9375F5BBC2974723215EC6855B5605EFD9/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/784110538844100123/A9A0ACCD9ADB5C20745B6AB314C472ECAB71C300/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "25a10f", - "Name": "Card", - "Transform": { - "posX": -6.225, - "posY": 1.511, - "posZ": -35.793, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ransacking the Manor", - "Description": "Agenda 2", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450011, - "SidewaysCard": true, - "CustomDeck": { - "2317": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378736378/628E179D5305E95AFC25D86526320A24F8B27391/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378732934/F41E84FCDC0AB52634348C439A6D1A725CEB8115/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "321cb7", - "Name": "Card", - "Transform": { - "posX": -69.181, - "posY": 1.516, - "posZ": -92.412, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daisy's Tote Bag", - "Description": "Signature", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 370422, - "SidewaysCard": false, - "CustomDeck": { - "3704": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4bab65", - "Name": "Card", - "Transform": { - "posX": -20.814, - "posY": 1.465, - "posZ": -45.614, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Patient Confinement", - "Description": "Arkham Asylum.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232047, - "SidewaysCard": false, - "CustomDeck": { - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8c2bf", - "Name": "Card", - "Transform": { - "posX": -69.953, - "posY": 1.666, - "posZ": -92.404, - "rotX": 355.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Catacombs Docent", - "Description": "Humanoid. Lunatic.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232249, - "SidewaysCard": false, - "CustomDeck": { - "2322": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cd94e3", - "Name": "Card", - "Transform": { - "posX": -69.472, - "posY": 1.506, - "posZ": -92.976, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Searching for Izzie", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371209, - "SidewaysCard": false, - "CustomDeck": { - "3712": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e3d00", - "Name": "Card", - "Transform": { - "posX": 26.188, - "posY": 2.089, - "posZ": -41.943, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Catacombs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 231921, - "SidewaysCard": false, - "CustomDeck": { - "2319": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378687267/945F8EF94DC605E0731E37C1BCD3FE65FCB86D02/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686851/006B65A59360F63826342C2B1A062C1AD727BD53/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc5296", - "Name": "Card", - "Transform": { - "posX": -69.22, - "posY": 1.603, - "posZ": -91.932, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Corrosion", - "Description": "Hazard.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232226, - "SidewaysCard": false, - "CustomDeck": { - "2322": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2559b7", - "Name": "Card", - "Transform": { - "posX": 26.273, - "posY": 2.108, - "posZ": -41.684, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burned Ruins", - "Description": "Dunwich.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 233550, - "SidewaysCard": false, - "CustomDeck": { - "2335": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999385819523376/198434B0178F76107193CB52D7FC70E5265E526E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/782999385819522537/207CCD9C85ECB70A339C09170ABB42E139924AA0/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "71e37c", - "Name": "Card", - "Transform": { - "posX": 6.972, - "posY": 1.449, - "posZ": -44.823, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 174.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heretic", - "Description": "Monster. Geist. Witch. Spectral. Elite.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275436, - "SidewaysCard": false, - "CustomDeck": { - "2754": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8359a3", - "Name": "Card", - "Transform": { - "posX": -68.789, - "posY": 1.56, - "posZ": -93.202, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Peter Clover", - "Description": "Holding All the Cards", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 234206, - "SidewaysCard": false, - "CustomDeck": { - "2342": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f8dc01", - "Name": "Card", - "Transform": { - "posX": -68.808, - "posY": 1.381, - "posZ": -92.261, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Skeleton Key (2)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315249, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "298237", - "Name": "Card", - "Transform": { - "posX": -9.048, - "posY": 1.938, - "posZ": -45.66, - "rotX": 0.0, - "rotY": 269.0, - "rotZ": 0.0, - "scaleX": 1.1, - "scaleY": 1.0, - "scaleZ": 1.1 - }, - "Nickname": "Norman Withers", - "Description": "The Astronomer", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272328, - "SidewaysCard": true, - "CustomDeck": { - "2723": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "532ace", - "Name": "Card", - "Transform": { - "posX": 0.357, - "posY": 1.337, - "posZ": -44.297, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 181.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Cosmos Beckons", - "Description": "Act 1", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553733, - "SidewaysCard": true, - "CustomDeck": { - "5537": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784110538844098999/61B68D9375F5BBC2974723215EC6855B5605EFD9/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/784110538844100123/A9A0ACCD9ADB5C20745B6AB314C472ECAB71C300/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fbf105", - "Name": "Card", - "Transform": { - "posX": -24.046, - "posY": 4.023, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jim Culver", - "Description": "The Musician", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270508, - "SidewaysCard": true, - "CustomDeck": { - "2705": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b5f59", - "Name": "Card", - "Transform": { - "posX": 26.461, - "posY": 2.099, - "posZ": -41.534, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Path to the Hill", - "Description": "Act ", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 233339, - "SidewaysCard": true, - "CustomDeck": { - "2333": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999385819527677/3AD8DFFFBFF54DB098AD3E00BB7E75DA0590FE8B/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/782999241296027643/326876D4B46DF777AA1293989DEEE6A810ED027B/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ff3f17", - "Name": "Card", - "Transform": { - "posX": -69.468, - "posY": 1.429, - "posZ": -92.842, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eldritch Inspiration", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430907, - "SidewaysCard": false, - "CustomDeck": { - "4309": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1bfb78", - "Name": "Card", - "Transform": { - "posX": -68.855, - "posY": 1.337, - "posZ": -93.177, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Randall Cho", - "Description": "Concerned Brother", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 369000, - "SidewaysCard": false, - "CustomDeck": { - "3690": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c37241", - "Name": "Card", - "Transform": { - "posX": -6.038, - "posY": 1.56, - "posZ": -34.983, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Secrets Better Left Hidden", - "Description": "Agenda 3", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450012, - "SidewaysCard": true, - "CustomDeck": { - "2317": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378736378/628E179D5305E95AFC25D86526320A24F8B27391/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378732934/F41E84FCDC0AB52634348C439A6D1A725CEB8115/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "57bcb8", - "Name": "Card", - "Transform": { - "posX": 28.412, - "posY": 1.954, - "posZ": -42.514, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Death's Approach", - "Description": "Agenda 2", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275330, - "SidewaysCard": true, - "CustomDeck": { - "2753": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aa08d4", - "Name": "Card", - "Transform": { - "posX": 25.273, - "posY": 2.087, - "posZ": -42.048, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Historical Society", - "Description": "Second Floor.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232024, - "SidewaysCard": false, - "CustomDeck": { - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1acf71", - "Name": "Card", - "Transform": { - "posX": -20.276, - "posY": 1.417, - "posZ": -45.349, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Patient Confinement", - "Description": "Arkham Asylum.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232046, - "SidewaysCard": false, - "CustomDeck": { - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "981ce4", - "Name": "Card", - "Transform": { - "posX": -18.664, - "posY": 4.223, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Amanda Sharpe", - "Description": "The Student", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553401, - "SidewaysCard": true, - "CustomDeck": { - "5534": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672550/E5E1C8EE53C7692025E048F0A04BE98D6FA17111/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672810/20E21AC471D7E5E1545F0EAE635A093718D4C7CF/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6c0d7e", - "Name": "Card", - "Transform": { - "posX": 8.311, - "posY": 1.459, - "posZ": -44.074, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 186.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heretic", - "Description": "Monster. Geist. Witch. Spectral. Elite.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275433, - "SidewaysCard": false, - "CustomDeck": { - "2754": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "66197b", - "Name": "Card", - "Transform": { - "posX": -68.54, - "posY": 1.468, - "posZ": -92.682, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Henry Armitage", - "Description": "The Head Librarian", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232900, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6f896e", - "Name": "Card", - "Transform": { - "posX": 8.215, - "posY": 1.45, - "posZ": -45.062, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 174.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heretic", - "Description": "Monster. Geist. Witch. Spectral. Elite.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275434, - "SidewaysCard": false, - "CustomDeck": { - "2754": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd4921", - "Name": "Card", - "Transform": { - "posX": -31.874, - "posY": 3.723, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Father Mateo", - "Description": "The Priest", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271619, - "SidewaysCard": true, - "CustomDeck": { - "2716": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6a1ee", - "Name": "Card", - "Transform": { - "posX": -62.408, - "posY": 1.3, - "posZ": -58.088, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "O'Bannion's Thug", - "Description": "\tHuman. Criminal. Syndicate.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232824, - "SidewaysCard": false, - "CustomDeck": { - "2328": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c7a098", - "Name": "Card", - "Transform": { - "posX": 27.026, - "posY": 2.07, - "posZ": -41.62, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Historical Society", - "Description": "Ground Floor.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232022, - "SidewaysCard": false, - "CustomDeck": { - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b2e99", - "Name": "Card", - "Transform": { - "posX": -57.695, - "posY": 1.302, - "posZ": -54.837, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mobster", - "Description": "\tHuman. Criminal. Syndicate.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232825, - "SidewaysCard": false, - "CustomDeck": { - "2328": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bce5af", - "Name": "Card", - "Transform": { - "posX": -69.256, - "posY": 1.599, - "posZ": -92.044, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Realm of Madness", - "Description": "Terror.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232264, - "SidewaysCard": false, - "CustomDeck": { - "2322": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "de3bd5", - "Name": "Card", - "Transform": { - "posX": -69.065, - "posY": 1.545, - "posZ": -92.323, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clover Club Pit Boss", - "Description": "Criminal. Elite.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232805, - "SidewaysCard": false, - "CustomDeck": { - "2328": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "13d3f3", - "Name": "Card", - "Transform": { - "posX": 10.847, - "posY": 1.367, - "posZ": -49.133, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heretic", - "Description": "Monster. Geist. Witch. Spectral. Elite.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275435, - "SidewaysCard": false, - "CustomDeck": { - "2754": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "234ff6", - "Name": "Card", - "Transform": { - "posX": -69.515, - "posY": 1.439, - "posZ": -92.621, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. William T. Maleson", - "Description": "Working on Something Big", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368423, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "23c694", - "Name": "Card", - "Transform": { - "posX": -69.359, - "posY": 1.526, - "posZ": -92.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heirloom of Hyperborea", - "Description": "Artifact from Another Life", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230626, - "SidewaysCard": false, - "CustomDeck": { - "2306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da7828", - "Name": "Card", - "Transform": { - "posX": -29.183, - "posY": 3.823, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "The Drifter", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270609, - "SidewaysCard": true, - "CustomDeck": { - "2706": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9bd7cf", - "Name": "Card", - "Transform": { - "posX": -69.981, - "posY": 1.391, - "posZ": -92.578, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shortcut (2)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430643, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c1397c", - "Name": "Card", - "Transform": { - "posX": 25.733, - "posY": 2.031, - "posZ": -41.916, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Madness Dies", - "Description": "Agenda 3", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450049, - "SidewaysCard": true, - "CustomDeck": { - "2317": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378736378/628E179D5305E95AFC25D86526320A24F8B27391/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378732934/F41E84FCDC0AB52634348C439A6D1A725CEB8115/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c6cc82", - "Name": "Card", - "Transform": { - "posX": -21.355, - "posY": 4.123, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jenny Barnes", - "Description": "The Dilettante", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273707, - "SidewaysCard": true, - "CustomDeck": { - "2737": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2feb4c", - "Name": "Card", - "Transform": { - "posX": -26.615, - "posY": 3.923, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rex Murphy (Taboo)", - "Description": "The Reporter", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 449400, - "SidewaysCard": true, - "CustomDeck": { - "4494": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907888685007/A30CCF98600F1E9FA0F3EE674FE35BCD86CB6ECB/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907888685525/36510337B6E7EC46984AE8AE341BA5E3DFB172F3/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "81a0f8", - "Name": "Card", - "Transform": { - "posX": -34.565, - "posY": 3.623, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Zoey Samaras", - "Description": "The Chef", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270305, - "SidewaysCard": true, - "CustomDeck": { - "2703": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "105e3a", - "Name": "Card", - "Transform": { - "posX": 20.247, - "posY": 1.291, - "posZ": -66.38, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Black Expanse", - "Description": "Act 3", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448235, - "SidewaysCard": true, - "CustomDeck": { - "4482": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/780749631102998699/DA1D7C58FE177F46169558EF1D8301754A91A73A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/780749631103001215/3FF9DC51D7737267B68EC5D9CF17BE421681663B/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f91e14", - "Name": "Card", - "Transform": { - "posX": -69.583, - "posY": 1.42, - "posZ": -92.304, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guiding Spirit (1)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293014, - "SidewaysCard": false, - "CustomDeck": { - "2930": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2e3115", - "Name": "Card", - "Transform": { - "posX": -69.549, - "posY": 1.448, - "posZ": -92.864, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Barricade (3)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430651, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4224db", - "Name": "Card", - "Transform": { - "posX": -69.328, - "posY": 1.371, - "posZ": -92.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Time Warp (2)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230343, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c18ebe", - "Name": "Card", - "Transform": { - "posX": -69.437, - "posY": 1.41, - "posZ": -92.244, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Laboratory Assistant", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368427, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3da436", - "Name": "Card", - "Transform": { - "posX": -6.378, - "posY": 1.494, - "posZ": -34.135, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Truth is Hidden", - "Description": "Agenda 1", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450010, - "SidewaysCard": true, - "CustomDeck": { - "2317": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378736378/628E179D5305E95AFC25D86526320A24F8B27391/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378732934/F41E84FCDC0AB52634348C439A6D1A725CEB8115/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "49a91e", - "Name": "Card", - "Transform": { - "posX": -68.409, - "posY": 1.353, - "posZ": -92.412, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Roland's .38 Special", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230620, - "SidewaysCard": false, - "CustomDeck": { - "2306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3fbc07", - "Name": "Card", - "Transform": { - "posX": -69.444, - "posY": 1.583, - "posZ": -93.586, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Otherworldly Meddler", - "Description": "Presence from Beyond the Stars", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 231613, - "SidewaysCard": false, - "CustomDeck": { - "2316": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493212055041441/90F035BD69A7C5C6B6F43426DDDA3A09DFCBCBDF/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9dd911", - "Name": "Card", - "Transform": { - "posX": -69.198, - "posY": 1.4, - "posZ": -92.681, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky Dice (2)", - "Description": "... Or Are They?", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315244, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e68658", - "Name": "Card", - "Transform": { - "posX": -69.038, - "posY": 1.477, - "posZ": -92.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Smite the Wicked", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371605, - "SidewaysCard": false, - "CustomDeck": { - "3716": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "70fcce", - "Name": "Card", - "Transform": { - "posX": 28.342, - "posY": 1.964, - "posZ": -42.297, - "rotX": 0.0, - "rotY": 271.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "In Pursuit of the Dead", - "Description": "Act 1", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275331, - "SidewaysCard": true, - "CustomDeck": { - "2753": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526785922/F34A644AC467C751B6D7B8AF398B8FDB07CCF6A0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/829135524526797029/1F8A6C29028AED32DB44E4CF22E3120C417F413D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a7358f", - "Name": "Card", - "Transform": { - "posX": -69.471, - "posY": 1.365, - "posZ": -92.398, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Yaotl (1)", - "Description": "Lost Son of Earth", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368840, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b14c5f", - "Name": "Card", - "Transform": { - "posX": -37.256, - "posY": 3.523, - "posZ": -36.364, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rex Murphy", - "Description": "The Reporter", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270406, - "SidewaysCard": true, - "CustomDeck": { - "2704": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8dcf73", - "Name": "Card", - "Transform": { - "posX": -19.584, - "posY": 1.319, - "posZ": -46.047, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Patient Confinement", - "Description": "Arkham Asylum.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232045, - "SidewaysCard": false, - "CustomDeck": { - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f7095f", - "Name": "Card", - "Transform": { - "posX": -69.168, - "posY": 1.487, - "posZ": -92.885, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Lam", - "Description": "Signature", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 369424, - "SidewaysCard": false, - "CustomDeck": { - "3694": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "728ae0", - "Name": "Card", - "Transform": { - "posX": -20.237, - "posY": 1.368, - "posZ": -46.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Patient Confinement", - "Description": "Arkham Asylum.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232044, - "SidewaysCard": false, - "CustomDeck": { - "2320": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378686413/C1688C1A909FDC7357EB3EEFADAB1FBD5818BD3E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107058378685352/22FD056BAF1966FE2D1AC46FC1BF90C1A03A1404/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ebdd78", - "Name": "Card", - "Transform": { - "posX": -69.212, - "posY": 1.458, - "posZ": -92.913, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".35 Winchester", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447932, - "SidewaysCard": false, - "CustomDeck": { - "4479": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bdb106", - "Name": "Card", - "Transform": { - "posX": 26.209, - "posY": 2.148, - "posZ": -42.993, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Back into the Depths", - "Description": "Act 1", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449904, - "SidewaysCard": true, - "CustomDeck": { - "4499": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163976478/FC378E356EF89EC9AB130A70B63D7129EA3FA10B/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163977116/B4A1405FC47AD67007EA09C27B703F4F3848C8A0/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d76b40", - "Name": "Card", - "Transform": { - "posX": 78.189, - "posY": 1.359, - "posZ": 8.158, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guided by the Unseen (3)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588403, - "SidewaysCard": false, - "CustomDeck": { - "2662": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7f5978", - "Name": "Card", - "Transform": { - "posX": 78.598, - "posY": 1.337, - "posZ": 7.399, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wendy's Amulet", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538928, - "SidewaysCard": false, - "CustomDeck": { - "5389": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e3bd71", - "Name": "Card", - "Transform": { - "posX": 78.495, - "posY": 1.386, - "posZ": 7.493, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 177.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crystallizer of Dreams", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440722, - "SidewaysCard": false, - "CustomDeck": { - "4407": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bbd11b", - "Name": "Card", - "Transform": { - "posX": 78.022, - "posY": 1.335, - "posZ": 7.593, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hungering Blade (1)", - "Description": "Calamitous Blade of Celephaïs", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440924, - "SidewaysCard": false, - "CustomDeck": { - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c1365d", - "Name": "Card", - "Transform": { - "posX": 78.275, - "posY": 1.323, - "posZ": 7.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Seeking Answers (2)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538825, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "864fb6", - "Name": "Card", - "Transform": { - "posX": 78.318, - "posY": 1.289, - "posZ": 6.794, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bait and Switch (3)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374417, - "SidewaysCard": false, - "CustomDeck": { - "3744": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "313167", - "Name": "Card", - "Transform": { - "posX": 78.316, - "posY": 1.247, - "posZ": 7.173, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Yaztaroth", - "Description": "Weakness", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 504613, - "SidewaysCard": false, - "CustomDeck": { - "5046": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b2d1e", - "Name": "CardCustom", - "Transform": { - "posX": 29.34, - "posY": 2.139, - "posZ": -49.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 7.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burn After Reading (1)", - "Description": "BETA CARD", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266200, - "SidewaysCard": false, - "CustomDeck": { - "2662": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656728123511551078/AEAB50847DAF7047B1420F99F34EE05551D112A1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - } - ] - }, - { - "GUID": "721ba2", - "Name": "Custom_Token", - "Transform": { - "posX": -27.94, - "posY": 1.47, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 10.0, - "scaleY": 1.0, - "scaleZ": 10.0 - }, - "Nickname": "Playarea", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/998015670465071049/FFAE162920D67CF38045EFBD3B85AD0F916147B2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/PlayArea\")\nend)\n__bundle_register(\"core/PlayArea\", function(require, _LOADED, __bundle_register, __bundle_modules)\n---------------------------------------------------------\r\n-- general setup\r\n---------------------------------------------------------\r\n\r\n-- set true to enable debug logging\r\nlocal DEBUG = false\r\n\r\n-- Location connection directional options\r\nlocal BIDIRECTIONAL = 0\r\nlocal ONE_WAY = 1\r\nlocal INCOMING_ONE_WAY = 2\r\n\r\n-- Connector draw parameters\r\nlocal CONNECTION_THICKNESS = 0.015\r\nlocal DRAGGING_CONNECTION_THICKNESS = 0.15\r\nlocal DRAGGING_CONNECTION_COLOR = { 0.8, 0.8, 0.8, 1 }\r\nlocal CONNECTION_COLOR = { 0.4, 0.4, 0.4, 1 }\r\nlocal DIRECTIONAL_ARROW_DISTANCE = 3.5\r\nlocal ARROW_ARM_LENGTH = 0.9\r\nlocal ARROW_ANGLE = 25\r\n\r\n-- Height to draw the connector lines, places them just above the table and always below cards\r\nlocal CONNECTION_LINE_Y = 1.529\r\n\r\n-- we use this to turn off collision handling until onLoad() is complete\r\nlocal collisionEnabled = false\r\n\r\n-- used for recreating the link to a custom data helper after image change\r\ncustomDataHelper = nil\r\n\r\nlocal SHIFT_OFFSETS = {\r\n left = { x = 0.00, y = 0, z = 7.67 },\r\n right = { x = 0.00, y = 0, z = -7.67 },\r\n up = { x = 6.54, y = 0, z = 0.00 },\r\n down = { x = -6.54, y = 0, z = 0.00 }\r\n}\r\nlocal SHIFT_EXCLUSION = {\r\n [\"b7b45b\"] = true,\r\n [\"f182ee\"] = true,\r\n [\"721ba2\"] = true\r\n}\r\nlocal LOC_LINK_EXCLUDE_SCENARIOS = {\r\n [\"The Witching Hour\"] = true,\r\n [\"The Heart of Madness\"] = true\r\n}\r\n\r\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal INVESTIGATOR_COUNTER_GUID = \"f182ee\"\r\nlocal PLAY_AREA_ZONE_GUID = \"a2f932\"\r\n\r\nlocal clueData = {}\r\nlocal spawnedLocationGUIDs = {}\r\nlocal locations = {}\r\nlocal locationConnections = {}\r\nlocal draggingGuids = {}\r\nlocal locationData\r\nlocal currentScenario\r\n\r\nlocal missingData = {}\r\nlocal countedVP = {}\r\n\r\n---------------------------------------------------------\r\n-- general code\r\n---------------------------------------------------------\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n trackedLocations = locations,\r\n currentScenario = currentScenario,\r\n })\r\nend\r\n\r\nfunction onLoad(saveState)\r\n -- records locations we have spawned clues for\r\n local save = JSON.decode(saveState) or { }\r\n locations = save.trackedLocations or { }\r\n currentScenario = save.currentScenario\r\n\r\n self.interactable = DEBUG\r\n Wait.time(function() collisionEnabled = true end, 1)\r\nend\r\n\r\nfunction log(message)\r\n if DEBUG then print(message) end\r\nend\r\n\r\n-- Called by Custom Data Helpers to push their location data into the Data Helper. This adds the\r\n-- data to the local token manager instance.\r\n---@param args Table Single-value array holding the GUID of the Custom Data Helper making the call\r\nfunction updateLocations(args)\r\n customDataHelper = getObjectFromGUID(args[1])\r\n if customDataHelper ~= nil then\r\n tokenManager.addLocationData(customDataHelper.getTable(\"LOCATIONS_DATA\"))\r\n end\r\nend\r\n\r\nfunction onCollisionEnter(collisionInfo)\r\n local obj = collisionInfo.collision_object\r\n local objType = obj.name\r\n\r\n -- only continue for cards\r\n if not collisionEnabled or (objType ~= \"Card\" and objType ~= \"CardCustom\") then\r\n if objType == \"Deck\" then\r\n table.insert(missingData, obj)\r\n end\r\n return\r\n end\r\n\r\n -- check if we should spawn clues here and do so according to playercount\r\n local card = collisionInfo.collision_object\r\n if shouldSpawnTokens(card) then\r\n tokenManager.spawnForCard(card)\r\n end\r\n -- If this card was being dragged, clear the dragging connections. A multi-drag/drop may send\r\n -- the dropped card immediately into a deck, so this has to be done here\r\n if draggingGuids[card.getGUID()] ~= nil then\r\n card.setVectorLines(nil)\r\n draggingGuids[card.getGUID()] = nil\r\n end\r\n maybeTrackLocation(card)\r\nend\r\n\r\nfunction shouldSpawnTokens(card)\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata == nil then\r\n return tokenManager.hasLocationData(card)\r\n end\r\n return metadata.type == \"Location\"\r\n or metadata.type == \"Enemy\"\r\n or metadata.type == \"Treachery\"\r\n or metadata.weakness\r\nend\r\n\r\nfunction onCollisionExit(collisionInfo)\r\n maybeUntrackLocation(collisionInfo.collision_object)\r\nend\r\n\r\n-- Destroyed objects don't trigger onCollisionExit(), so check on destruction to untrack as well\r\nfunction onObjectDestroy(object)\r\n maybeUntrackLocation(object)\r\nend\r\n\r\nfunction onObjectPickUp(player, object)\r\n -- only continue for cards\r\n local objType = object.name\r\n if objType ~= \"Card\" and objType ~= \"CardCustom\" then return end\r\n\r\n -- onCollisionExit USUALLY fires first, so we have to check the card to see if it's a location we\r\n -- should be tracking\r\n if showLocationLinks() and isInPlayArea(object) and object.getGMNotes() ~= nil and object.getGMNotes() ~= \"\" then\r\n local pickedUpGuid = object.getGUID()\r\n local metadata = JSON.decode(object.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n -- onCollisionExit sometimes comes 1 frame after onObjectPickUp (rather than before it or in\r\n -- the same frame). This causes a mismatch in the data between dragging the on-table, and\r\n -- that one frame draws connectors on the card which then show up as shadows for snap points.\r\n -- Waiting ensures we always do thing in the expected Exit->PickUp order\r\n Wait.frames(function()\r\n if object.is_face_down then\r\n draggingGuids[pickedUpGuid] = metadata.locationBack\r\n else\r\n draggingGuids[pickedUpGuid] = metadata.locationFront\r\n end\r\n rebuildConnectionList()\r\n end, 2)\r\n end\r\n end\r\nend\r\n\r\nfunction onUpdate()\r\n -- Due to the frequence of onUpdate calls, ensure that we only process any changes to the\r\n -- connection list once, and only redraw once\r\n local needsConnectionRebuild = false\r\n local needsConnectionDraw = false\r\n for guid, _ in pairs(draggingGuids) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj == nil or not isInPlayArea(obj) then\r\n draggingGuids[guid] = nil\r\n needsConnectionRebuild = true\r\n -- If object still exists then it's been dragged outside the area and needs to clear the\r\n -- lines attached to it\r\n if obj ~= nil then\r\n obj.setVectorLines(nil)\r\n end\r\n end\r\n -- Even if the last location left the play area, need one last draw to clear the lines\r\n needsConnectionDraw = true\r\n end\r\n if (needsConnectionRebuild) then\r\n rebuildConnectionList()\r\n end\r\n if needsConnectionDraw then\r\n drawDraggingConnections()\r\n end\r\nend\r\n\r\n-- Checks the given card and adds it to the list of locations tracked for connection purposes.\r\n-- A card will be added to the tracking if it is a location in the play area (based on centerpoint).\r\n---@param card Object A card object, possibly a location.\r\nfunction maybeTrackLocation(card)\r\n -- Collision checks for any part of the card overlap, but our other tracking is centerpoint\r\n -- Ignore any collision where the centerpoint isn't in the area\r\n if isInPlayArea(card) then\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata == nil then\r\n table.insert(missingData, card)\r\n else\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down then\r\n locations[card.getGUID()] = metadata.locationBack\r\n else\r\n locations[card.getGUID()] = metadata.locationFront\r\n end\r\n\r\n -- only draw connection lines for not-excluded scenarios\r\n if showLocationLinks() then\r\n rebuildConnectionList()\r\n drawBaseConnections()\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Stop tracking a location for connection drawing. This should be called for both collision exit\r\n-- and destruction, as a destroyed object does not trigger collision exit. An object can also be\r\n-- deleted mid-drag, but the ordering for drag events means we can't clear those here and those will\r\n-- be cleared in the next onUpdate() cycle.\r\n---@param card Object Card to (maybe) stop tracking\r\nfunction maybeUntrackLocation(card)\r\n -- Locked objects no longer collide (hence triggering an exit event) but are still in the play\r\n -- area. If the object is now locked, don't remove it.\r\n if locations[card.getGUID()] ~= nil and not card.locked then\r\n locations[card.getGUID()] = nil\r\n rebuildConnectionList()\r\n drawBaseConnections()\r\n end\r\nend\r\n\r\n-- Global event handler, delegated from Global. Clears any connection lines from dragged cards\r\n-- before they are destroyed by entering a deck. Removal of the card from the dragging list will\r\n-- be handled during the next onUpdate() call.\r\nfunction tryObjectEnterContainer(params)\r\n for draggedGuid, _ in pairs(draggingGuids) do\r\n local draggedObj = getObjectFromGUID(draggedGuid)\r\n if draggedObj ~= nil then\r\n draggedObj.setVectorLines(nil)\r\n end\r\n end\r\nend\r\n\r\n-- Builds a list of GUID to GUID connection information based on the currently tracked locations.\r\n-- This will update the connection information and store it in the locationConnections data member,\r\n-- but does not draw those connections. This should often be followed by a call to\r\n-- drawBaseConnections()\r\nfunction rebuildConnectionList()\r\n if not showLocationLinks() then\r\n locationConnections = { }\r\n return\r\n end\r\n\r\n local iconCardList = { }\r\n\r\n -- Build a list of cards with each icon as their location ID\r\n for cardId, metadata in pairs(draggingGuids) do\r\n buildLocListByIcon(cardId, iconCardList, metadata)\r\n end\r\n for cardId, metadata in pairs(locations) do\r\n buildLocListByIcon(cardId, iconCardList, metadata)\r\n end\r\n\r\n -- Pair up all the icons\r\n locationConnections = { }\r\n for cardId, metadata in pairs(draggingGuids) do\r\n buildConnection(cardId, iconCardList, metadata)\r\n end\r\n for cardId, metadata in pairs(locations) do\r\n if draggingGuids[cardId] == nil then\r\n buildConnection(cardId, iconCardList, metadata)\r\n end\r\n end\r\nend\r\n\r\n-- Extracts the card's icon string into a list of individual location icons\r\n---@param cardID String GUID of the card to pull the icon data from\r\n---@param iconCardList Table A table of icon->GUID list. Mutable, will be updated by this method\r\n---@param locData Table A table containing the metadata for the card (for the correct side)\r\nfunction buildLocListByIcon(cardId, iconCardList, locData)\r\n if locData ~= nil and locData.icons ~= nil then\r\n for icon in string.gmatch(locData.icons, \"%a+\") do\r\n if iconCardList[icon] == nil then\r\n iconCardList[icon] = { }\r\n end\r\n table.insert(iconCardList[icon], cardId)\r\n end\r\n end\r\nend\r\n\r\n-- Builds the connections for the given cardID by finding matching icons and adding them to the\r\n-- Playarea's locationConnections table.\r\n---@param cardId String GUID of the card to build the connections for\r\n---@param iconCardList Table A table of icon->GUID List. Used to find matching icons for connections.\r\n---@param locData Table A table containing the metadata for the card (for the correct side)\r\nfunction buildConnection(cardId, iconCardList, locData)\r\n if locData ~= nil and locData.connections ~= nil then\r\n locationConnections[cardId] = { }\r\n for icon in string.gmatch(locData.connections, \"%a+\") do\r\n if iconCardList[icon] ~= nil then\r\n for _, connectedGuid in ipairs(iconCardList[icon]) do\r\n -- If the reciprocal exists, convert it to BiDi, otherwise add as a one-way\r\n if locationConnections[connectedGuid] ~= nil\r\n and (locationConnections[connectedGuid][cardId] == ONE_WAY\r\n or locationConnections[connectedGuid][cardId] == BIDIRECTIONAL) then\r\n locationConnections[connectedGuid][cardId] = BIDIRECTIONAL\r\n locationConnections[cardId][connectedGuid] = nil\r\n else\r\n if locationConnections[connectedGuid] == nil then\r\n locationConnections[connectedGuid] = { }\r\n end\r\n locationConnections[cardId][connectedGuid] = ONE_WAY\r\n locationConnections[connectedGuid][cardId] = INCOMING_ONE_WAY\r\n end\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Draws the lines for connections currently in locationConnections but not in draggingGuids.\r\n-- Constructed vectors will be set to the playmat\r\nfunction drawBaseConnections()\r\n if not showLocationLinks() then\r\n locationConnections = { }\r\n return\r\n end\r\n local cardConnectionLines = { }\r\n\r\n for originGuid, targetGuids in pairs(locationConnections) do\r\n -- Objects should reliably exist at this point, but since this can be called during onUpdate the\r\n -- object checks are conservative just to make sure.\r\n local origin = getObjectFromGUID(originGuid)\r\n if draggingGuids[originGuid] == nil and origin != nil then\r\n for targetGuid, direction in pairs(targetGuids) do\r\n local target = getObjectFromGUID(targetGuid)\r\n if draggingGuids[targetGuid] == nil and target != nil then\r\n -- Since we process the full list, we're guaranteed to hit any ONE_WAY connections later\r\n -- so we can ignore INCOMING_ONE_WAY\r\n if direction == BIDIRECTIONAL then\r\n addBidirectionalVector(origin, target, self, cardConnectionLines)\r\n elseif direction == ONE_WAY then\r\n addOneWayVector(origin, target, self, cardConnectionLines)\r\n end\r\n end\r\n end\r\n end\r\n end\r\n self.setVectorLines(cardConnectionLines)\r\nend\r\n\r\n-- Draws the lines for cards which are currently being dragged.\r\nfunction drawDraggingConnections()\r\n if not showLocationLinks() then\r\n return\r\n end\r\n local cardConnectionLines = { }\r\n local ownedVectors = { }\r\n\r\n for originGuid, _ in pairs(draggingGuids) do\r\n targetGuids = locationConnections[originGuid]\r\n -- Objects should reliably exist at this point, but since this can be called during onUpdate the\r\n -- object checks are conservative just to make sure.\r\n local origin = getObjectFromGUID(originGuid)\r\n if draggingGuids[originGuid] and origin ~= nil and targetGuids ~= nil then\r\n ownedVectors[originGuid] = { }\r\n for targetGuid, direction in pairs(targetGuids) do\r\n local target = getObjectFromGUID(targetGuid)\r\n if target != nil then\r\n if direction == BIDIRECTIONAL then\r\n addBidirectionalVector(origin, target, origin, ownedVectors[originGuid])\r\n elseif direction == ONE_WAY then\r\n addOneWayVector(origin, target, origin, ownedVectors[originGuid])\r\n elseif direction == INCOMING_ONE_WAY and not draggingGuids[targetGuid] then\r\n addOneWayVector(target, origin, origin, ownedVectors[originGuid])\r\n end\r\n end\r\n end\r\n end\r\n end\r\n for ownerGuid, vectors in pairs(ownedVectors) do\r\n local card = getObjectFromGUID(ownerGuid)\r\n card.setVectorLines(vectors)\r\n end\r\nend\r\n\r\n-- Draws a bidirectional location connection between the two cards, adding the lines to do so to the\r\n-- given lines list.\r\n---@param card1 Object One of the card objects to connect\r\n---@param card2 Object The other card object to connect\r\n---@param vectorOwner Object The object which these lines will be set to. Used for relative\r\n--- positioning and scaling, as well as highlighting connections during a drag operation\r\n---@param lines Table List of vector line elements. Mutable, will be updated to add this connector\r\nfunction addBidirectionalVector(card1, card2, vectorOwner, lines)\r\n local cardPos1 = card1.getPosition()\r\n local cardPos2 = card2.getPosition()\r\n cardPos1.y = CONNECTION_LINE_Y\r\n cardPos2.y = CONNECTION_LINE_Y\r\n\r\n local pos1 = vectorOwner.positionToLocal(cardPos1)\r\n local pos2 = vectorOwner.positionToLocal(cardPos2)\r\n\r\n table.insert(lines, {\r\n points = { pos1, pos2 },\r\n color = vectorOwner == self and CONNECTION_COLOR or DRAGGING_CONNECTION_COLOR,\r\n thickness = vectorOwner == self and CONNECTION_THICKNESS or DRAGGING_CONNECTION_THICKNESS,\r\n })\r\nend\r\n\r\n-- Draws a one-way location connection between the two cards, adding the lines to do so to the\r\n-- given lines list. Arrows will point towards the target card.\r\n---@param origin Object Origin card in the connection\r\n---@param target Object Target card object to connect\r\n---@param vectorOwner Object The object which these lines will be set to. Used for relative\r\n--- positioning and scaling, as well as highlighting connections during a drag operation\r\n---@param lines Table List of vector line elements. Mutable, will be updated to add this connector\r\nfunction addOneWayVector(origin, target, vectorOwner, lines)\r\n -- Start with the BiDi then add the arrow lines to it\r\n addBidirectionalVector(origin, target, vectorOwner, lines)\r\n local originPos = origin.getPosition()\r\n local targetPos = target.getPosition()\r\n originPos.y = CONNECTION_LINE_Y\r\n targetPos.y = CONNECTION_LINE_Y\r\n\r\n -- Calculate card distance to be closer for horizontal positions than vertical, since cards are\r\n -- taller than they are wide\r\n local heading = Vector(originPos):sub(targetPos):heading(\"y\")\r\n local distanceFromCard = DIRECTIONAL_ARROW_DISTANCE * 0.7 + DIRECTIONAL_ARROW_DISTANCE * 0.3 * math.abs(math.sin(math.rad(heading)))\r\n\r\n -- Calculate the three possible arrow positions. These are offset by half the arrow length to\r\n -- make them visually balanced by keeping the arrows centered, not tracking the point\r\n local midpoint = Vector(originPos):add(targetPos):scale(Vector(0.5, 0.5, 0.5)):moveTowards(targetPos, ARROW_ARM_LENGTH / 2)\r\n local closeToOrigin = Vector(originPos):moveTowards(targetPos, distanceFromCard + ARROW_ARM_LENGTH / 2)\r\n local closeToTarget = Vector(targetPos):moveTowards(originPos, distanceFromCard - ARROW_ARM_LENGTH / 2)\r\n\r\n if (originPos:distance(closeToOrigin) > originPos:distance(closeToTarget)) then\r\n addArrowLines(midpoint, originPos, vectorOwner, lines)\r\n else\r\n addArrowLines(closeToOrigin, originPos, vectorOwner, lines)\r\n addArrowLines(closeToTarget, originPos, vectorOwner, lines)\r\n end\r\nend\r\n\r\n-- Draws an arrowhead at the given position.\r\n---@param arrowheadPosition Table Centerpoint of the arrowhead to draw (NOT the tip of the arrow)\r\n---@param originPos Table Origin point of the connection, used to position the arrow arms\r\n---@param vectorOwner Object The object which these lines will be set to. Used for relative\r\n--- positioning and scaling, as well as highlighting connections during a drag operation\r\n---@param lines Table List of vector line elements. Mutable, will be updated to add this arrow\r\nfunction addArrowLines(arrowheadPos, originPos, vectorOwner, lines)\r\n local arrowArm1 = Vector(arrowheadPos):moveTowards(originPos, ARROW_ARM_LENGTH):sub(arrowheadPos):rotateOver(\"y\", -1 * ARROW_ANGLE):add(arrowheadPos)\r\n local arrowArm2 = Vector(arrowheadPos):moveTowards(originPos, ARROW_ARM_LENGTH):sub(arrowheadPos):rotateOver(\"y\", ARROW_ANGLE):add(arrowheadPos)\r\n\r\n local head = vectorOwner.positionToLocal(arrowheadPos)\r\n local arm1 = vectorOwner.positionToLocal(arrowArm1)\r\n local arm2 = vectorOwner.positionToLocal(arrowArm2)\r\n table.insert(lines, {\r\n points = { arm1, head, arm2},\r\n color = vectorOwner == self and CONNECTION_COLOR or DRAGGING_CONNECTION_COLOR,\r\n thickness = vectorOwner == self and CONNECTION_THICKNESS or DRAGGING_CONNECTION_THICKNESS,\r\n })\r\nend\r\n\r\n-- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n-- fixed objects will be ignored, as will anything the player has tagged with 'displacement_excluded'\r\n---@param playerColor String Color of the player requesting the shift. Used solely to send an error\r\n--- message in the unlikely case that the scripting zone has been deleted\r\nfunction shiftContentsUp(playerColor)\r\n shiftContents(playerColor, \"up\")\r\nend\r\n\r\nfunction shiftContentsDown(playerColor)\r\n shiftContents(playerColor, \"down\")\r\nend\r\n\r\nfunction shiftContentsLeft(playerColor)\r\n shiftContents(playerColor, \"left\")\r\nend\r\n\r\nfunction shiftContentsRight(playerColor)\r\n shiftContents(playerColor, \"right\")\r\nend\r\n\r\nfunction shiftContents(playerColor, direction)\r\n local zone = getObjectFromGUID(PLAY_AREA_ZONE_GUID)\r\n if not zone then\r\n broadcastToColor(\"Scripting zone couldn't be found.\", playerColor, \"Red\")\r\n return\r\n end\r\n\r\n for _, object in ipairs(zone.getObjects()) do\r\n if not (SHIFT_EXCLUSION[object.getGUID()] or object.hasTag(\"displacement_excluded\")) then\r\n object.translate(SHIFT_OFFSETS[direction])\r\n end\r\n end\r\n Wait.time(drawBaseConnections, 0.1)\r\nend\r\n\r\n-- Returns the current value of the investigator counter from the playmat\r\n---@return. Number of investigators currently set on the counter\r\nfunction getInvestigatorCount()\r\n local investigatorCounter = getObjectFromGUID(\"f182ee\")\r\n return investigatorCounter.getVar(\"val\")\r\nend\r\n\r\n-- Updates the current value of the investigator counter from the playmat\r\n---@param count Number of investigators to set on the counter\r\nfunction setInvestigatorCount(count)\r\n local investigatorCounter = getObjectFromGUID(\"f182ee\")\r\n return investigatorCounter.call(\"updateVal\", count)\r\nend\r\n\r\n-- Check to see if the given object is within the bounds of the play area, based solely on the X and\r\n-- Z coordinates, ignoring height\r\n---@param object Object Object to check\r\n---@return. True if the object is inside the play area\r\nfunction isInPlayArea(object)\r\n local bounds = self.getBounds()\r\n local position = object.getPosition()\r\n -- Corners are arbitrary since it's all global - c1 goes down both axes, c2 goes up\r\n local c1 = { x = bounds.center.x - bounds.size.x / 2, z = bounds.center.z - bounds.size.z / 2}\r\n local c2 = { x = bounds.center.x + bounds.size.x / 2, z = bounds.center.z + bounds.size.z / 2}\r\n\r\n return position.x > c1.x and position.x < c2.x and position.z > c1.z and position.z < c2.z\r\nend\r\n\r\n-- Reset the play area's tracking of which cards have had tokens spawned.\r\nfunction resetSpawnedCards()\r\n spawnedLocationGUIDs = {}\r\nend\r\n\r\nfunction onScenarioChanged(scenarioName)\r\n currentScenario = scenarioName\r\n if not showLocationLinks() then\r\n broadcastToAll(\"Automatic location connections not available for this scenario\")\r\n end\r\nend\r\n\r\nfunction showLocationLinks()\r\n return not LOC_LINK_EXCLUDE_SCENARIOS[currentScenario]\r\nend\r\n\r\n-- Sets this playmat's snap points to limit snapping to locations or not.\r\n-- If matchTypes is false, snap points will be reset to snap all cards.\r\n---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\nfunction setLimitSnapsByType(matchTypes)\r\n local snaps = self.getSnapPoints()\r\n for i, snap in ipairs(snaps) do\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Location\" }\r\n else\r\n table.insert(snaps[i].tags, \"Location\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n self.setSnapPoints(snaps)\r\nend\r\n\r\n-- count victory points on locations in play area\r\n---@return. Returns the total amount of VP found in the play area\r\nfunction countVP()\r\n local totalVP = 0\r\n\r\n for cardId, metadata in pairs(locations) do\r\n if metadata ~= nil then\r\n local cardVP = tonumber(metadata.victory) or 0\r\n if cardVP ~= 0 and not cardHasClues(cardId) then\r\n totalVP = totalVP + cardVP\r\n if cardVP >0 then\r\n table.insert(countedVP, getObjectFromGUID(cardId))\r\n end\r\n end\r\n end\r\n end\r\n\r\n return totalVP\r\nend\r\n\r\n-- checks if a card has clues on it, returns true if clues are on it\r\n---@param cardId String GUID of the card to check for clues\r\nfunction cardHasClues(cardId)\r\n local card = getObjectFromGUID(cardId)\r\n for _, v in ipairs(searchOnObj(card)) do\r\n local obj = v.hit_object\r\n if obj.memo == \"clueDoom\" and obj.is_face_down == false then\r\n return true\r\n end\r\n end\r\n return false\r\nend\r\n\r\n-- searches on an object (by using its bounds)\r\n---@param obj Object Object to search on\r\nfunction searchOnObj(obj)\r\n return Physics.cast({\r\n direction = { 0, 1, 0 },\r\n max_distance = 0.5,\r\n type = 3,\r\n size = obj.getBounds().size,\r\n origin = obj.getPosition()\r\n })\r\nend\r\n\r\n-- highlights all locations in the play area without metadata\r\n---@param state Boolean True if highlighting should be enabled\r\nfunction highlightMissingData(state)\r\n for i, obj in pairs(missingData) do\r\n if obj ~= nil then\r\n if state then\r\n obj.highlightOff(\"Red\")\r\n else\r\n obj.highlightOn(\"Red\")\r\n end\r\n else\r\n missingData[i] = nil\r\n end\r\n end\r\nend\r\n\r\n-- highlights all locations in the play area with VP\r\n---@param state Boolean True if highlighting should be enabled\r\nfunction highlightCountedVP(state)\r\n for i, obj in pairs(countedVP) do\r\n if obj ~= nil then\r\n if state then\r\n obj.highlightOff(\"Green\")\r\n else\r\n obj.highlightOn(\"Green\")\r\n end\r\n else\r\n countedVP[i] = nil\r\n end\r\n end\r\nend\r\n\r\n-- rebuilds local snap points (could be useful in the future again)\r\nfunction buildSnaps()\r\n local upperleft = { x = 1.53, z = -1.09}\r\n local lowerright = {x = -1.53, z = 1.55}\r\n local snaps = {}\r\n\r\n -- creates 81 snap points, for uneven rows + columns it makes a rotation snap point\r\n for i = 1, 9 do\r\n for j = 1, 9 do\r\n local snap = {}\r\n snap.position = {}\r\n snap.position.x = round(upperleft.x - (upperleft.x - lowerright.x) * (i - 1) / 8, 3)\r\n snap.position.y = 0.1\r\n snap.position.z = round(upperleft.z - (upperleft.z - lowerright.z) * (j - 1) / 8, 3)\r\n\r\n -- enable rotation snaps for uneven rows / columns\r\n if (i % 2 ~= 0) and (j % 2 ~= 0) then\r\n snap.rotation = {0, 0, 0}\r\n snap.rotation_snap = true\r\n end\r\n\r\n table.insert(snaps, snap)\r\n end\r\n end\r\n self.setSnapPoints(snaps)\r\nend\r\n\r\n-- utility function\r\nfunction round(num, numDecimalPlaces)\r\n local mult = 10^(numDecimalPlaces or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"trackedLocations\":[]}", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": -1.09 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": -0.43 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": 0.23 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": 0.89 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.53, - "y": 0.1, - "z": 1.55 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": -1.09 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": -0.43 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": 0.23 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": 0.89 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 1.148, - "y": 0.1, - "z": 1.55 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": -1.09 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": -0.43 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": 0.23 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": 0.89 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.765, - "y": 0.1, - "z": 1.55 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": -1.09 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": -0.43 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": 0.23 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": 0.89 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.383, - "y": 0.1, - "z": 1.55 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -1.09 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.43 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": 0.23 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": 0.89 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": 1.55 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": -1.09 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": -0.43 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": 0.23 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": 0.89 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.383, - "y": 0.1, - "z": 1.55 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": -1.09 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": -0.43 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": 0.23 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": 0.89 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -0.765, - "y": 0.1, - "z": 1.55 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": -1.09 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": -0.43 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": 0.23 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": 0.89 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.148, - "y": 0.1, - "z": 1.55 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": -1.09 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": -0.76 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": -0.43 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": -0.1 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": 0.23 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": 0.56 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": 0.89 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": 1.22 - }, - "Tags": [ - "Location" - ] - }, - { - "Position": { - "x": -1.53, - "y": 0.1, - "z": 1.55 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "Tags": [ - "Location" - ] - } - ] - }, - { - "GUID": "308439", - "Name": "Custom_Assetbundle_Bag", - "Transform": { - "posX": -60.646, - "posY": -0.631, - "posZ": -80.613, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.45, - "scaleY": 0.45, - "scaleZ": 0.45 - }, - "Nickname": "Barkham Horror", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomAssetbundle": { - "AssetbundleURL": "http://chry.me/tts/catlamp.unity3d", - "AssetbundleSecondaryURL": "", - "MaterialIndex": 0, - "TypeIndex": 6, - "LoopingEffectIndex": 0 - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "d02940", - "Name": "Custom_Model", - "Transform": { - "posX": -41.275, - "posY": 3.446, - "posZ": -98.784, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Meddling of Meowlathotep", - "Description": "Barkham Horror", - "GMNotes": "scenarios/meddling_of_meowlathotep.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2038486699957629839/74B187339172F55B05CD212F214F5D31B117FDF0/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": 0.0, - "posY": 0.0, - "posZ": 0.0, - "rotX": 270.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 2.0, - "scaleY": 2.0, - "scaleZ": 2.0 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - } - ] - }, - { - "GUID": "fb28e1", - "Name": "ScriptingTrigger", - "Transform": { - "posX": -41.9, - "posY": 1.468, - "posZ": 28.6, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 3.0, - "scaleY": 5.0, - "scaleZ": 8.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.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": "7af2cf", - "Name": "ScriptingTrigger", - "Transform": { - "posX": -57.0, - "posY": 1.544, - "posZ": 4.545, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 3.0, - "scaleY": 5.0, - "scaleZ": 8.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.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": "b047f8", - "Name": "ScriptingTrigger", - "Transform": { - "posX": -57.0, - "posY": 1.539, - "posZ": -27.65, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 3.0, - "scaleY": 5.0, - "scaleZ": 8.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.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": "18538f", - "Name": "ScriptingTrigger", - "Transform": { - "posX": -18.8, - "posY": 1.481, - "posZ": -28.6, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 3.0, - "scaleY": 5.0, - "scaleZ": 8.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.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": "766620", - "Name": "Custom_Token", - "Transform": { - "posX": 4.194, - "posY": 1.621, - "posZ": -16.596, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.4, - "scaleY": 1.0, - "scaleZ": 0.4 - }, - "Nickname": "Chaos Bag Stat Tracker", - "Description": "Only tracks tokens that actually hit the playmat.\n\nAll credit goes to TadGH!", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.87451, - "g": 0.87451, - "b": 0.87451 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "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, - "CustomImage": { - "ImageURL": "https://i.imgur.com/SBE8GR5.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"chaosbag/ChaosBagStatTracker\")\nend)\n__bundle_register(\"chaosbag/ChaosBagStatTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- button calls respective function in \"Global\"\r\nfunction onLoad()\r\n self.createButton({\r\n click_function = \"handleStatTrackerClick\",\r\n tooltip = \"Left-Click: Print stats\\nRight-Click: Reset stats\",\r\n height = 1250,\r\n width = 1250,\r\n color = { 0, 0, 0, 0 }\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[true,0]", - "XmlUI": "" - }, - { - "GUID": "afa06b", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 2.842, - "posY": 1.644, - "posZ": -11.239, - "rotX": 0.0, - "rotY": 224.999985, - "rotZ": 0.0, - "scaleX": 0.7, - "scaleY": 0.7, - "scaleZ": 0.7 - }, - "Nickname": "Bless tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "displacement_excluded" - ], - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778623873/C9EF4B44CE708DFC5A804FF2912C9F9B47323287/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2b7be", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.465, - "posY": 1.703, - "posZ": -26.93, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Bless", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.37456, - "g": 0.32859, - "b": 0.04894 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778627699/339FB716CB25CA6025C338F13AFDFD9AC6FA8356/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "bd0253", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 4.053, - "posY": 1.642, - "posZ": -12.449, - "rotX": 0.0, - "rotY": 224.999985, - "rotZ": 0.0, - "scaleX": 0.7, - "scaleY": 0.7, - "scaleZ": 0.7 - }, - "Nickname": "Curse tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "displacement_excluded" - ], - "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": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778633181/7A00AF905BCD6EB5D866F2107CECBC0A49E360F7/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678891", - "Name": "Custom_Tile", - "Transform": { - "posX": -46.206, - "posY": 1.789, - "posZ": -3.483, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Curse", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.27072, - "g": 0.00387, - "b": 0.44425 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1655601092778636039/2A25BD38E8C44701D80DD96BF0121DA21843672E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "0a5a29", - "Name": "Custom_Tile", - "Transform": { - "posX": -58.5, - "posY": 1.481, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Token Remover", - "Description": "See Notebook for details.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "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/1767069252728651946/04A700179A71859B828E30D2877D802749B8223C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1767069252728653004/7BD6E4B8763FE70DB6ADB22B62504361D3778309/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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)\nrequire(\"util/TokenRemover\")\nend)\n__bundle_register(\"util/TokenRemover\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal zone = nil\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\n\r\n-- general code\r\nfunction onSave()\r\n return JSON.encode(zone and zone.getGUID() or nil)\r\nend\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" and savedData ~= nil then\r\n zone = getObjectFromGUID(JSON.decode(savedData))\r\n end\r\n setMenu(zone == nil)\r\nend\r\n\r\n-- context menu functions\r\nfunction enable()\r\n local scale = self.getScale()\r\n zone = spawnObject({\r\n type = \"ScriptingTrigger\",\r\n position = self.getPosition() + Vector(0, 2.5 + 0.11, 0),\r\n rotation = self.getRotation(),\r\n scale = { scale.x * 2, 5, scale.z * 2 }\r\n })\r\n setMenu(false)\r\nend\r\n\r\nfunction disable()\r\n if zone ~= nil then zone.destruct() end\r\n setMenu(true)\r\nend\r\n\r\n-- core functions\r\nfunction setMenu(isEnabled)\r\n self.clearContextMenu()\r\n if isEnabled then\r\n self.addContextMenuItem(\"Enable\", enable)\r\n else\r\n self.addContextMenuItem(\"Disable\", disable)\r\n end\r\nend\r\n\r\nfunction onObjectEnterScriptingZone(entering, object)\r\n if zone ~= entering then return end\r\n if object == self or object.type == \"Deck\" or object.type == \"Card\" then return end\r\n if tokenChecker.isChaosToken(object) then return end\r\n object.destruct()\r\nend\r\n\r\nfunction onPickUp()\r\n disable()\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "null", - "XmlUI": "" - }, - { - "GUID": "36b4ee", - "Name": "Checker_white", - "Transform": { - "posX": 78.0, - "posY": 1.208, - "posZ": 6.952, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 0.25, - "scaleY": 0.25, - "scaleZ": 0.25 - }, - "Nickname": "Token Spawn Tool", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "-- 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)\nrequire(\"util/TokenSpawnTool\")\nend)\n__bundle_register(\"util/TokenSpawnTool\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal TOKEN_INDEX = {}\r\nTOKEN_INDEX[3] = \"resourceCounter\"\r\nTOKEN_INDEX[4] = \"damage\"\r\nTOKEN_INDEX[5] = \"path\"\r\nTOKEN_INDEX[6] = \"horror\"\r\nTOKEN_INDEX[7] = \"doom\"\r\nTOKEN_INDEX[8] = \"clue\"\r\nTOKEN_INDEX[9] = \"resource\"\r\n\r\n---@param index number Index of the pressed key\r\n---@param playerColor string Color of the triggering player\r\nfunction onScriptingButtonDown(index, playerColor)\r\n local tokenType = TOKEN_INDEX[index]\r\n if not tokenType then return end\r\n\r\n local player = Player[playerColor]\r\n local rotation = { x = 0, y = player.getPointerRotation(), z = 0 }\r\n local position = player.getPointerPosition() + Vector(0, 0.2, 0)\r\n\r\n tokenManager.spawnToken(position, tokenType, rotation)\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ef5c8", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -2.6783205E-08, - "posY": 1.86649919, - "posZ": -71.0, - "rotX": -3.07660258E-07, - "rotY": 270.0, - "rotZ": 1.78384578E-08, - "scaleX": 1.76, - "scaleY": 0.11, - "scaleZ": 1.49 - }, - "Nickname": "Official Standalone/Challenge Scenarios", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.9921699, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "http://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068588410895356/0B5F0CCD29DEC12514840D7B9CD2329B635A79A6/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 4\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,1,-2}, rotation={0,0,0}, height=240, width=550,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-1.2,1,-2}, rotation={0,0,0}, height=240, width=570,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={-1.2,1,2}, rotation={0,0,0}, height=240, width=550,\r\n font_size=150, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,1,2}, rotation={0,0,0}, height=240, width=600,\r\n font_size=150, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={1.3,1,2}, rotation={0,0,0}, height=240, width=600,\r\n font_size=150, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={1.2,1,-2}, rotation={0,0,0}, height=240, width=500,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0.7,1,2}, rotation={0,0,0}, height=280, width=600,\r\n font_size=200, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-0.7,1,2}, rotation={0,0,0}, height=280, width=650,\r\n font_size=200, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,1,-2}, rotation={0,0,0}, height=240, width=500,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r", - "LuaScriptState": "{\"ml\":{\"77a5f9\":{\"lock\":false,\"pos\":{\"x\":-9,\"y\":1.4815,\"z\":-66},\"rot\":{\"x\":0,\"y\":270,\"z\":0}},\"9f6801\":{\"lock\":false,\"pos\":{\"x\":-9,\"y\":1.4815,\"z\":-76},\"rot\":{\"x\":0,\"y\":270,\"z\":0}}}}\r", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "77a5f9", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -9.0, - "posY": 1.481, - "posZ": -66.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 0.1, - "scaleZ": 0.8 - }, - "Nickname": "Standalone Scenarios", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068588410818645/F8C950620F886182DD2BB1FD351E41D0B77B4827/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 4\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={-1.25,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={1.25,0.3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={1.35,1,6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-1.25,1,6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r", - "LuaScriptState": "{\"ml\":{\"01d780\":{\"lock\":false,\"pos\":{\"x\":12.252,\"y\":1.4815,\"z\":11.986},\"rot\":{\"x\":0,\"y\":270.0001,\"z\":0}},\"0dce91\":{\"lock\":false,\"pos\":{\"x\":12.25,\"y\":1.4815,\"z\":-28.014},\"rot\":{\"x\":0,\"y\":269.9792,\"z\":0}},\"23dd51\":{\"lock\":false,\"pos\":{\"x\":12.249,\"y\":1.4815,\"z\":35.986},\"rot\":{\"x\":0,\"y\":270,\"z\":0}},\"3c4f3c\":{\"lock\":false,\"pos\":{\"x\":12.251,\"y\":1.4815,\"z\":-20.014},\"rot\":{\"x\":0,\"y\":269.9867,\"z\":0}},\"4c173f\":{\"lock\":false,\"pos\":{\"x\":12.25,\"y\":1.4815,\"z\":3.986},\"rot\":{\"x\":0,\"y\":269.9998,\"z\":0}},\"4dee5a\":{\"lock\":false,\"pos\":{\"x\":12.25,\"y\":1.4815,\"z\":-4.014},\"rot\":{\"x\":0,\"y\":269.9999,\"z\":0}},\"d02940\":{\"lock\":false,\"pos\":{\"x\":12.25,\"y\":1.4815,\"z\":-36.014},\"rot\":{\"x\":0,\"y\":270.0045,\"z\":0}},\"db7039\":{\"lock\":false,\"pos\":{\"x\":12.25,\"y\":1.4815,\"z\":27.986},\"rot\":{\"x\":0,\"y\":270.0001,\"z\":0}},\"ee987d\":{\"lock\":false,\"pos\":{\"x\":12.25,\"y\":1.4815,\"z\":19.986},\"rot\":{\"x\":0,\"y\":270.0001,\"z\":0}},\"fc7674\":{\"lock\":false,\"pos\":{\"x\":12.247,\"y\":1.4815,\"z\":-12.016},\"rot\":{\"x\":0,\"y\":270.0001,\"z\":0}}}}\r", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "23dd51", - "Name": "Custom_Model", - "Transform": { - "posX": 12.249, - "posY": 1.481, - "posZ": 32.01, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Carnevale of Horrors", - "Description": "Investigators must spend 3XP each to play this side-mission", - "GMNotes": "scenarios/carnevale_of_horrors.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/826883954590151386/AFF80583FAE6A513663D7BA0A36C4EDAC02DCF43/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "db7039", - "Name": "Custom_Model", - "Transform": { - "posX": 12.249, - "posY": 1.481, - "posZ": 24.01, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Curse of the Rougarou", - "Description": "Investigators must spend 1XP each to play this side-mission", - "GMNotes": "scenarios/curse_of_the_rougarou.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/826883954590159139/DD8593B1F0B0D531AF8F3A9B6A37568E551B9B03/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "ee987d", - "Name": "Custom_Model", - "Transform": { - "posX": 12.251, - "posY": 1.481, - "posZ": 16.01, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Guardians of the Abyss", - "Description": "Official side-mission", - "GMNotes": "scenarios/guardians_of_the_abyss.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/826883954590180592/50C4420774777AFE0D3168DA24D0E72941862CC4/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "01d780", - "Name": "Custom_Model", - "Transform": { - "posX": 12.249, - "posY": 1.481, - "posZ": 8.01, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Murder at the Excelsior Hotel", - "Description": "", - "GMNotes": "scenarios/murder_at_the_excelsior_hotel.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/766102485311280290/6AFE3755ED304F8D6D1E0B0E7CCA7748BA07DDE9/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4c173f", - "Name": "Custom_Model", - "Transform": { - "posX": 12.248, - "posY": 1.481, - "posZ": 0.01, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Labyrinths of Lunacy", - "Description": "Beyond the Veil", - "GMNotes": "scenarios/labyrinths_of_lunacy.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142912455/15B44AE6487546376FD9DED67A1BC9D613163511/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4dee5a", - "Name": "Custom_Model", - "Transform": { - "posX": 12.249, - "posY": 1.481, - "posZ": -7.99, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Blob that Ate Everything", - "Description": "Scenario Pack", - "GMNotes": "scenarios/blob_that_ate_everything.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/784129708171644922/CF8E4B744A65B5C7FEAF46C907D8E470A9E2241F/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "fc7674", - "Name": "Custom_Model", - "Transform": { - "posX": 12.249, - "posY": 1.481, - "posZ": -15.99, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "War of the Outer Gods", - "Description": "Scenario Pack", - "GMNotes": "scenarios/war_of_the_outer_gods.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655599785041387976/264E2E1DA532DC374D6E75B19AD4FEDDBEAA22F0/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "3c4f3c", - "Name": "Custom_Model", - "Transform": { - "posX": 12.283, - "posY": 1.481, - "posZ": -23.989, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Machinations Through Time", - "Description": "Scenario Pack", - "GMNotes": "scenarios/machinations_through_time.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1849293764609930695/A32186E44882FD6EF5753CCB9D325B4EC6848B5A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "0dce91", - "Name": "Custom_Model", - "Transform": { - "posX": 12.248, - "posY": 1.481, - "posZ": -31.992, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Fortune and Folly", - "Description": "", - "GMNotes": "scenarios/fortune_and_folly.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2038486699957629658/90632624064547CE896A5236F3F15492FD920D28/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "d02940", - "Name": "Custom_Model", - "Transform": { - "posX": 12.25, - "posY": 1.481, - "posZ": -36.014, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Meddling of Meowlathotep", - "Description": "Barkham Horror", - "GMNotes": "scenarios/meddling_of_meowlathotep.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2038486699957629839/74B187339172F55B05CD212F214F5D31B117FDF0/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": 0.0, - "posY": 0.0, - "posZ": 0.0, - "rotX": 270.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 2.0, - "scaleY": 2.0, - "scaleZ": 2.0 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - } - ] - }, - { - "GUID": "9f6801", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -9.0, - "posY": 1.481, - "posZ": -76.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 0.1, - "scaleZ": 0.8 - }, - "Nickname": "Challenge Scenarios", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068588410811700/1DF1FE7CA9B185FE571B967718A66C175FB35B64/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 4\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={-1.25,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={1.25,0.3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={1.35,1,6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-1.25,1,6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r", - "LuaScriptState": "{\"ml\":{\"451eaa\":{\"lock\":false,\"pos\":{\"x\":12.2499580383301,\"y\":1.46560525894165,\"z\":3.98636198043823},\"rot\":{\"x\":359.920135498047,\"y\":269.999908447266,\"z\":0.016873624175787}},\"5302f2\":{\"lock\":false,\"pos\":{\"x\":12.2504663467407,\"y\":1.45853757858276,\"z\":-20.013650894165},\"rot\":{\"x\":359.920135498047,\"y\":270.00146484375,\"z\":0.0168716721236706}},\"72ab92\":{\"lock\":false,\"pos\":{\"x\":12.2520532608032,\"y\":1.4679582118988,\"z\":11.9863719940186},\"rot\":{\"x\":359.920135498047,\"y\":270,\"z\":0.0168737415224314}},\"9e73fa\":{\"lock\":false,\"pos\":{\"x\":12.2500581741333,\"y\":1.46089386940002,\"z\":-12.0136384963989},\"rot\":{\"x\":359.920135498047,\"y\":269.999847412109,\"z\":0.0168744903057814}},\"cc7eb3\":{\"lock\":false,\"pos\":{\"x\":12.2495565414429,\"y\":1.46325027942657,\"z\":-4.01364088058472},\"rot\":{\"x\":359.920135498047,\"y\":269.999908447266,\"z\":0.0168744102120399}}}}\r", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "451eaa", - "Name": "Custom_Model", - "Transform": { - "posX": 12.25, - "posY": 1.466, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Bad Blood", - "Description": "Challenge Scenario", - "GMNotes": "scenarios/challenge_bad_blood.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655599785039299268/52DB5C3A0E600D6AECB0B851ECF90C5B3D016421/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "5302f2", - "Name": "Custom_Model", - "Transform": { - "posX": 12.25, - "posY": 1.459, - "posZ": -20.014, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Red Tide Rising", - "Description": "Challenge Scenario", - "GMNotes": "scenarios/challenge_red_tide_rising.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610824071/BD70BFDA6DED25221D6DC1BE60C8CE11B165F848/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "72ab92", - "Name": "Custom_Model", - "Transform": { - "posX": 12.252, - "posY": 1.468, - "posZ": 11.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "All or Nothing", - "Description": "Challenge Scenario", - "GMNotes": "scenarios/challenge_all_or_nothing.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655600953066192972/8A5939900FCA8E2A2772CEDE6A03594A68961C4C/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "9e73fa", - "Name": "Custom_Model", - "Transform": { - "posX": 12.25, - "posY": 1.461, - "posZ": -12.014, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Read or Die", - "Description": "Challenge Scenario", - "GMNotes": "scenarios/challenge_read_or_die.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655599785039304850/852232605656B7DD6577C475A1988491D3378506/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "cc7eb3", - "Name": "Custom_Model", - "Transform": { - "posX": 12.25, - "posY": 1.463, - "posZ": -4.014, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "By the Book", - "Description": "Challenge Scenario", - "GMNotes": "scenarios/challenge_by_the_book.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1719794129200879643/47A3BC15C8C8ADB45137A2258B86C1D2DB9C2B03/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - } - ] - } - ] - }, - { - "GUID": "77f1e5", - "Name": "Deck", - "Transform": { - "posX": -56.245, - "posY": 1.61783934, - "posZ": -80.189, - "rotX": 7.20076176E-09, - "rotY": 315.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tarot Deck", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "LayoutGroupSortIndex": 0, - "Value": 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": [ - 266300, - 266301, - 266302, - 266303, - 266304, - 266305, - 266306, - 266307, - 266308, - 266309, - 266310, - 266311, - 266312, - 266313, - 266314, - 266315, - 266316, - 266317, - 266318, - 266319, - 266320, - 266321 - ], - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "01cd9f", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.739, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Fool · 0", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266300, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0fd716", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.718, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Magician · I", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266301, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/Tarotcard\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a6d017", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.71, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The High Priestess · II", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266302, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/Tarotcard\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ee4a47", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.702, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Empress · III", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266303, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8be589", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.689, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Emperor · IV", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266304, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f9064", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.686, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hierophant · V", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266305, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d5d07a", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.676, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Lovers · VI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266306, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f633db", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.662, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Chariot · VII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266307, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e0ad3b", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.665, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strength · VIII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266308, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e2e3a0", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.641, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hermit · IX", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266309, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "00f067", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.64, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wheel of Fortune · X", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266310, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c4282a", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.636, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Justice · XI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266311, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "522d77", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.612, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hanged Man · XII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266312, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a00798", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.617, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Death · XIII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266313, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ffb72a", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.608, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Temperance · XIV", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266314, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8328fd", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.583, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Devil · XV", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266315, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "25ae32", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.573, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Tower · XVI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266316, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "37153b", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.571, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Star · XVII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266317, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "37c24c", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.554, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Moon · XVIII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266318, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/Tarotcard\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "65b6cb", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.544, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Sun · XIX", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266319, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5e392", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.51, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Judgement · XX", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266320, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dacc75", - "Name": "Card", - "Transform": { - "posX": 12.25, - "posY": 1.479, - "posZ": 3.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The World · XXI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266321, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "a230f9", - "Name": "Bag", - "Transform": { - "posX": -55.035, - "posY": 1.40773451, - "posZ": -78.766, - "rotX": -1.24176026E-07, - "rotY": 270.0, - "rotZ": -1.77678515E-07, - "scaleX": 0.45, - "scaleY": 0.45, - "scaleZ": 0.45 - }, - "Nickname": "Tarot Deck (Scripted)", - "Description": "Right-click for card reading options.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.62745, - "g": 0.125479966, - "b": 0.94118 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "-- 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)\nrequire(\"playercards/ScriptedTarot\")\nend)\n__bundle_register(\"playercards/ScriptedTarot\", function(require, _LOADED, __bundle_register, __bundle_modules)\nCARD_OFFSET = Vector(0, 0.1, -2)\r\nORIENTATIONS = { {0, 270, 0}, { 0, 90, 0} }\r\nREADING = {\r\n \"Temperance\",\r\n \"Justice\",\r\n \"Hermit\",\r\n \"Hanged Man\",\r\n \"Hierophant\",\r\n \"Lovers\",\r\n \"Chariot\",\r\n \"Wheel of Fortune\"\r\n}\r\n\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Chaos\", chaos, false)\r\n self.addContextMenuItem(\"Balance\", balance, false)\r\n self.addContextMenuItem(\"Choice\", choice, false)\r\n self.addContextMenuItem(\"Destiny (Campaign)\", destiny, false)\r\n self.addContextMenuItem(\"Accept Your Fate\", fate, false)\r\n math.randomseed(os.time())\r\nend\r\n\r\nfunction chaos(color)\r\n self.shuffle()\r\n self.takeObject({\r\n position = self.getPosition() + CARD_OFFSET,\r\n rotation = ORIENTATIONS[math.random(2)],\r\n smooth = true\r\n })\r\nend\r\n\r\nfunction balance(color)\r\n self.shuffle()\r\n for i = 1, 2 do\r\n self.takeObject({\r\n position = self.getPosition() + i * CARD_OFFSET,\r\n rotation = ORIENTATIONS[i],\r\n smooth = true\r\n })\r\n end\r\nend\r\n\r\nfunction choice(color)\r\n self.shuffle()\r\n for i = 1, 3 do\r\n self.takeObject({\r\n position = self.getPosition() + i * CARD_OFFSET,\r\n rotation = ORIENTATIONS[1],\r\n smooth = true\r\n })\r\n end\r\n broadcastToColor(\"Choose and reverse two of the cards.\", color)\r\nend\r\n\r\nfunction destiny(color)\r\n self.shuffle()\r\n for i = 1, 8 do\r\n self.takeObject({\r\n position = self.getPosition() + i * CARD_OFFSET,\r\n rotation = ORIENTATIONS[1],\r\n smooth = true\r\n })\r\n end\r\n broadcastToColor(\"Each card corresponds to one scenario, leftmost is first. Choose and reverse half of the cards (rounded up).\", color)\r\nend\r\n\r\nfunction fate(color)\r\n local i = 0\r\n for _, card in ipairs(self.getObjects()) do\r\n for _, reading in ipairs(READING) do\r\n if string.match(card.name, reading) ~= nil then\r\n i = i + 1\r\n self.takeObject({\r\n guid = card.guid,\r\n position = self.getPosition() + i * CARD_OFFSET,\r\n rotation = ORIENTATIONS[1],\r\n smooth = true\r\n })\r\n end\r\n end\r\n end\r\n broadcastToColor(\"Each card corresponds to one scenario, leftmost is first. Choose and reverse half of the cards (rounded up).\", color)\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "0fd716", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 2.985, - "posZ": 65.421, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 178.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Magician · I", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266301, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/Tarotcard\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "25ae32", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 2.557, - "posZ": 70.458, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 178.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Tower · XVI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266316, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "37c24c", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 4.151, - "posZ": 52.297, - "rotX": 2.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Moon · XVIII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266318, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a6d017", - "Name": "Card", - "Transform": { - "posX": -12.113, - "posY": 3.339, - "posZ": 55.795, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The High Priestess · II", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266302, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/Tarotcard\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "37153b", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 4.236, - "posZ": 51.289, - "rotX": 2.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Star · XVII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266317, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dacc75", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 2.644, - "posZ": 69.451, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 178.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The World · XXI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266321, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5e392", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 3.075, - "posZ": 64.414, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 178.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Judgement · XX", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266320, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8be589", - "Name": "Card", - "Transform": { - "posX": -11.974, - "posY": 3.339, - "posZ": 57.313, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Emperor · IV", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266304, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "01cd9f", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 3.56, - "posZ": 59.35, - "rotX": 2.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Fool · 0", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266300, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "65b6cb", - "Name": "Card", - "Transform": { - "posX": -13.791, - "posY": 3.898, - "posZ": 55.319, - "rotX": 2.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Sun · XIX", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266319, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a00798", - "Name": "Card", - "Transform": { - "posX": -12.347, - "posY": 3.34, - "posZ": 54.461, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Death · XIII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266313, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e0ad3b", - "Name": "Card", - "Transform": { - "posX": -12.347, - "posY": 3.34, - "posZ": 52.461, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strength · VIII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266308, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ee4a47", - "Name": "Card", - "Transform": { - "posX": -12.347, - "posY": 3.339, - "posZ": 48.461, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Empress · III", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266303, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8328fd", - "Name": "Card", - "Transform": { - "posX": -12.347, - "posY": 3.585, - "posZ": 46.461, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Devil · XV", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266315, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c4282a", - "Name": "Card", - "Transform": { - "posX": 16.035, - "posY": 3.388, - "posZ": 45.852, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Justice · XI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266311, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "00f067", - "Name": "Card", - "Transform": { - "posX": 19.682, - "posY": 3.296, - "posZ": 41.773, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wheel of Fortune · X", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266310, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f633db", - "Name": "Card", - "Transform": { - "posX": 21.653, - "posY": 3.328, - "posZ": 44.494, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Chariot · VII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266307, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f9064", - "Name": "Card", - "Transform": { - "posX": 17.929, - "posY": 3.329, - "posZ": 44.63, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hierophant · V", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266305, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "522d77", - "Name": "Card", - "Transform": { - "posX": 20.956, - "posY": 3.209, - "posZ": 48.653, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 353.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hanged Man · XII", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266312, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e2e3a0", - "Name": "Card", - "Transform": { - "posX": 20.948, - "posY": 3.125, - "posZ": 50.184, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hermit · IX", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266309, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ffb72a", - "Name": "Card", - "Transform": { - "posX": 17.192, - "posY": 3.156, - "posZ": 48.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 356.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Temperance · XIV", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266314, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d5d07a", - "Name": "Card", - "Transform": { - "posX": 17.605, - "posY": 3.359, - "posZ": 46.71, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Lovers · VI", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 266306, - "SidewaysCard": false, - "CustomDeck": { - "2663": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/Tarotcard\")\nend)\n__bundle_register(\"playercards/Tarotcard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- context menu to manually fix rotation\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rotate Preview\", rotatePreview)\r\n self.addContextMenuItem(\"Rotate Card+Preview\", rotateSelfAndPreview)\r\nend\r\n\r\n-- rotates the alt_view_angle\r\nfunction rotatePreview()\r\n local angle = self.alt_view_angle\r\n if angle.y == 0 then\r\n angle.y = 180\r\n else\r\n angle.y = 0\r\n end\r\n self.alt_view_angle = angle\r\nend\r\n\r\n-- rotates this card and the preview\r\nfunction rotateSelfAndPreview()\r\n self.setRotationSmooth(self.getRotation() + Vector(0, 180, 0))\r\n rotatePreview()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "aa8b38", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -60.585, - "posY": 1.527, - "posZ": -75.46, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.9, - "scaleY": 0.85, - "scaleZ": 0.9 - }, - "Nickname": "Fan-Made Accessories", - "Description": "This barrel contains some miscelleaneous accessories.\n\nAlso take a look at the option panel (gear icon at the bottom right) for more tools.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.99216, - "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, - "CustomMesh": { - "MeshURL": "http://pastebin.com/raw/U9C5Ymds", - "DiffuseURL": "http://i.imgur.com/ukWGram.png", - "NormalURL": "http://i.imgur.com/0qUEr3W.jpg", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 0.8745098, - "g": 0.8117647, - "b": 0.745098054 - }, - "SpecularIntensity": 0.08, - "SpecularSharpness": 5.0, - "FresnelStrength": 0.5 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "e17c9e", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -27.382, - "posY": 2.505, - "posZ": -27.938, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.2, - "scaleY": 1.2, - "scaleZ": 1.2 - }, - "Nickname": "Arkham Fantasy - Pixel Art Mini-Cards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1786216803655030730/FB25E1090FC3F69A55E021CB1A31B64FBB50BD23/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "7f8782", - "Name": "Bag", - "Transform": { - "posX": 0.32, - "posY": 1.989, - "posZ": 0.156, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "For Other Fan Content", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": false, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "ed079d", - "Name": "Bag", - "Transform": { - "posX": 4.713, - "posY": 2.86, - "posZ": -4.792, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Monogatari", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": false, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "395836", - "Name": "Custom_Tile", - "Transform": { - "posX": 23.243, - "posY": 1.971, - "posZ": -4.644, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Black Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641434/3B605FA81140800D2929A2F4FC605C61113815ED/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826278/41B14E1673F5F709A93FDAF0F142B53E18AEA3C9/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "53a482", - "Name": "Custom_Tile", - "Transform": { - "posX": -10.236248, - "posY": 0.960002661, - "posZ": -2.48673582, - "rotX": -2.41597045E-05, - "rotY": 180.0, - "rotZ": 1.29868076E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Tsubusa Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641670/CAB545E928EDC617CA1314223774D88A2CFA2E19/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826516/584635E992B674121F4E8C62F1CA259D8D33A9C2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "2eea14", - "Name": "Custom_Tile", - "Transform": { - "posX": 21.879, - "posY": 1.971, - "posZ": -4.199, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Hitagi Senjougahara", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641507/8115C513A8A814EB45C429400A4E9679A4AA27C7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826334/69C1571BD3ED38E6837B38FC2A9784C90D6686EA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "148edc", - "Name": "Custom_Tile", - "Transform": { - "posX": -12.1176805, - "posY": 1.12415206, - "posZ": -5.36991358, - "rotX": 351.7117, - "rotY": 270.756348, - "rotZ": 349.5606, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Bob Jenkins", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588327/419EF2D650774CCB0500C73CFC43AC77D234747F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127589908/773A07E5D19FAFDA6AF71CEBC069175C769EF9ED/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ea25c3", - "Name": "Custom_Tile", - "Transform": { - "posX": 20.017, - "posY": 1.971, - "posZ": -4.015, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Yotsugi Ononoki", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127642047/17C45A9A42806A38F1B15D4358DDA48258D819C4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826572/5AB6F8CD81E839C6CFD9555918A3E264300CBF04/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "29e06e", - "Name": "Custom_Tile", - "Transform": { - "posX": -12.1023951, - "posY": 1.01172352, - "posZ": -4.403691, - "rotX": 357.53363, - "rotY": 270.0128, - "rotZ": 356.5814, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588477/F570ACBA35CB2F916284EFF8F671646235DA822C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127590872/69AEF24314609C572C8EC2443582BE04F2186806/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d9a9ba", - "Name": "Custom_Tile", - "Transform": { - "posX": 19.494, - "posY": 1.971, - "posZ": -4.498, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Suruga Kanbaru", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641618/DCD566DE13398919BD5F836857CCE5E1B15A4D7A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826462/33429FB27677A30F054B0ACF868F9CB80879046C/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b183e2", - "Name": "Custom_Tile", - "Transform": { - "posX": -12.0660648, - "posY": 0.960000038, - "posZ": -3.44189286, - "rotX": 0.000154525638, - "rotY": 270.00824, - "rotZ": 0.000190097417, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Monterey Jack", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588525/D4FA9699B6ED018ED996622689AD6384CA7833D2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127593415/FA319D0449914FDED7A263FBECEF3FA4714C1905/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "3fc084", - "Name": "Custom_Tile", - "Transform": { - "posX": 24.617, - "posY": 1.971, - "posZ": -1.601, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Tsubusa Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641670/CAB545E928EDC617CA1314223774D88A2CFA2E19/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826516/584635E992B674121F4E8C62F1CA259D8D33A9C2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "395836", - "Name": "Custom_Tile", - "Transform": { - "posX": -10.2106543, - "posY": 0.9600028, - "posZ": -1.2446934, - "rotX": -3.62714854E-06, - "rotY": 180.000015, - "rotZ": -8.925218E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Black Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641434/3B605FA81140800D2929A2F4FC605C61113815ED/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826278/41B14E1673F5F709A93FDAF0F142B53E18AEA3C9/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "38912e", - "Name": "Custom_Tile", - "Transform": { - "posX": 23.641, - "posY": 1.971, - "posZ": -0.706, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Shinobu Oshino", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127641576/396D35B8A84FBE0C49EEFAE98BD94E15A277FB88/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127826395/B3FDC858139FA6C9554725D93DDB9DCFB9D5B29D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "37e0fc", - "Name": "Figurine_Custom", - "Transform": { - "posX": 20.774, - "posY": 2.067, - "posZ": -1.265, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Black Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127783370/C8476BFEDBE29BCB732F8B405EB4C3EE690F6407/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127783438/7915A66641DDEEC59738335A0569F7BAECFA5709/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "27d1be", - "Name": "Figurine_Custom", - "Transform": { - "posX": -6.09006, - "posY": 1.05605137, - "posZ": 0.427373916, - "rotX": -3.82384969E-05, - "rotY": 0.0361007527, - "rotZ": -6.50055663E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Tsubusa Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.4572487, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127785872/67138C40F1DE5CE32201F2C85003B8FE670F1604/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127785929/29B7336804A600EE42390063183E9F387A8CC5E6/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d799b1", - "Name": "Figurine_Custom", - "Transform": { - "posX": 17.915, - "posY": 2.528, - "posZ": -0.451, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Hitagi Senjougahara", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127784053/AA580BC3F93E7E83936844AFCBAC40CC0EE563C1/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127784126/6CF27249FEF4F54E8DAD96DA6C3A3BBD24756AF0/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2808c1", - "Name": "Figurine_Custom", - "Transform": { - "posX": 26.122, - "posY": 2.067, - "posZ": 1.909, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Yotsugi Ononoki", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127785008/9650915EDD064263792CFBD6711E037764ECA60E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127785226/0CBE7413D09EF71C304561E69D488973B2675AE4/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ca919a", - "Name": "Figurine_Custom", - "Transform": { - "posX": 25.097, - "posY": 2.067, - "posZ": 2.043, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Suruga Kanbaru", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127784553/636A86A9E948668712A9061BE31FA9E43BB1098B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127784614/C1212DA66187F0A55704B0296256EB1F870C74F6/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c9242b", - "Name": "Figurine_Custom", - "Transform": { - "posX": 23.563, - "posY": 2.067, - "posZ": 1.685, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Tsubusa Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127785872/67138C40F1DE5CE32201F2C85003B8FE670F1604/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127785929/29B7336804A600EE42390063183E9F387A8CC5E6/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "37e0fc", - "Name": "Figurine_Custom", - "Transform": { - "posX": -10.2388783, - "posY": 1.05605257, - "posZ": 0.388642371, - "rotX": 5.24104371E-06, - "rotY": 0.03614551, - "rotZ": -2.475761E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Black Hanekawa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.4572487, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127783370/C8476BFEDBE29BCB732F8B405EB4C3EE690F6407/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127783438/7915A66641DDEEC59738335A0569F7BAECFA5709/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "4a725c", - "Name": "Figurine_Custom", - "Transform": { - "posX": 19.552, - "posY": 2.067, - "posZ": 0.949, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Shinobu Oshino", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127786470/DF776DA59AEB125A32EF513421DB73B525CBAFAB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127786535/1374F15B948BFAFDE4DAD8140DC8DDD8BD509C87/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - } - ] - }, - { - "GUID": "4564ef", - "Name": "Notecard", - "Transform": { - "posX": 17.148, - "posY": 3.651, - "posZ": 2.315, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "[b]Arkham Fantasy - Pixel Art Mini-Cards[/b]", - "Description": "Designed by William \"Lemmingrad\" Jung\n\nTo properly illuminate stands.\n[b]Options[/b]: [b]Lighting[/b]\n1) Set [b]Ambient[/b] to [b]Gradient[/b]. \n2) Turn down [b]Reflection Intensity[/b] to your preference. \n3) Adjust [b]Ambient Intensity[/b] to your preference.\n", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8dc454", - "Name": "Notecard", - "Transform": { - "posX": 21.321, - "posY": 2.041, - "posZ": 14.049, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "[b]Arkham Fantasy - Pixel Art Mini-Cards[/b]", - "Description": "Updated - 2022-09-13\n- Added Scarlet Keys Investigator\n- Added Summoned Servitor\n- Added Lily Chen Quad-wielding Butterfly Swords and wearing Track Shoes under [b]Alternatives[/b].\n", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8b8b41", - "Name": "Bag", - "Transform": { - "posX": -0.206, - "posY": 1.989, - "posZ": 9.149, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tokens", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.32578, - "b": 0.05692 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "862983", - "Name": "Custom_Tile", - "Transform": { - "posX": 16.201, - "posY": 1.971, - "posZ": -7.486, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Summoned Servitor", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632961194/758470726C5430CA0E5D55E3B8B96162DD54F145/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632950023/32B84D3806148A6BB12304CDBDC1B4B0AEF3BE65/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "94767f", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.30093718, - "posY": 0.960000753, - "posZ": -3.76547241, - "rotX": -4.64144723E-05, - "rotY": 180.000031, - "rotZ": -1.710464E-05, - "scaleX": 0.801324666, - "scaleY": 1.0, - "scaleZ": 0.801324666 - }, - "Nickname": "Summoned Servitor", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632961243/4484267F67622813B829B1D24E9C35A200828313/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632950061/3DD39FE00BCF2D0F995862FF7BEE8F9B07552894/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f8c290", - "Name": "Bag", - "Transform": { - "posX": 13.276, - "posY": 3.288, - "posZ": -3.797, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alternatives", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "b3859e", - "Name": "Custom_Tile", - "Transform": { - "posX": 19.423, - "posY": 1.971, - "posZ": 4.171, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Lily Chen (Quadwield)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632874602/AD80AD0552BBD9885B868EEE71189AB51029B858/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632893474/4AF139BBCD80D1C20CB0ACCCB187A59716C129E2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "77f37b", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.09603658, - "posY": 0.960000157, - "posZ": 0.08149373, - "rotX": -2.042557E-05, - "rotY": 180.000015, - "rotZ": 1.34459406E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lily Chen (Quadwield)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632874696/26560CEFEE751DBDD87EBE57FA825307CEE66A40/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632893519/00AEC6496FFB456329C276AF64D8B8272370B461/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f5c62d", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.338, - "posY": 3.013, - "posZ": -4.417, - "rotX": 358.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Sister \"of Battle\" Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351135554/A6535EC60FCCA481D469A5DC1362D9E6CBAAED92/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351136953/2E52D40BC0FFD36491AC73AE2DE98B8C0187C977/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "329445", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.76786017, - "posY": 0.9600004, - "posZ": -0.2475957, - "rotX": -1.99428159E-05, - "rotY": 180.0, - "rotZ": 9.04094E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Sister \"of Battle\" Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351135608/EF64E1FB541E98B2110568E80521F909FCC65B6A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351137004/0BDCE801CF3CFFE731ECBF3C6CA42D36DD6E6A6F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "a0c8aa", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.847, - "posY": 3.007, - "posZ": -4.413, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351153507/40687A48B0B38B8FC6B2EBF1B1A584F664FF7B82/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351154638/AD7164AEFA42443372544B9AE244200A7A6C0701/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ef5e1e", - "Name": "Custom_Tile", - "Transform": { - "posX": 7.01594162, - "posY": 0.959999561, - "posZ": 1.3719486, - "rotX": -7.631986E-05, - "rotY": 179.999985, - "rotZ": 1.59252013E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351153563/23860331AAF2DAA0CD5587DB287DDAEEAD6CC70F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351154679/8FCE2FFA8B295B437C5862861B8BBB71B805405D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8902b4", - "Name": "Custom_Tile", - "Transform": { - "posX": 29.591, - "posY": 1.971, - "posZ": 19.198, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351191818/BFC802E32AE2A38228739510216AE1D4A4E4BB69/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351193465/CE9301CD15AFA8A7B5AF34C950714AB39213DDE6/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "be4f57", - "Name": "Custom_Tile", - "Transform": { - "posX": 6.076, - "posY": 3.038, - "posZ": -4.601, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 358.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351178860/0726567002C8338E97BB3E3746675E696FDC8721/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351180402/300B84479A7E7FBD938886E6FFF983BE099DF983/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "7ef8b0", - "Name": "Bag", - "Transform": { - "posX": 14.227, - "posY": 3.279, - "posZ": -2.708, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Novellas Only", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "41af3c", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.776, - "posY": 3.029, - "posZ": -1.858, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Gloria Goldberg", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708453946/632737736F711F40CB028160C41BEA9ABB0E5452/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708456674/D0BD072E388A816E723E14099DB0C0F0F29D1B4A/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "bdbebb", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.72389579, - "posY": 0.960001349, - "posZ": -2.41127372, - "rotX": -2.58430046E-05, - "rotY": 180.0, - "rotZ": 1.10427845E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Gloria Goldberg", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708454002/B6EE6E9D045F421A99CD5935D3B0DB8359889E89/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708456715/2E1B1D504A7EA17F427E5277185836A03C6F4979/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "1d37ae", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.753, - "posY": 3.026, - "posZ": -2.204, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708454043/58DCCF75F91563D964F0DE40E0466E7C1E397304/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708457497/56FD4FA183C86788EF3F0D7109C75D61A711BD29/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "2db65b", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.29944789, - "posY": 0.9600009, - "posZ": -2.7570343, - "rotX": -1.74139932E-05, - "rotY": 180.000015, - "rotZ": -1.32418131E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708454082/88D4671EDA79C9A7580390D1CEABD439B3DFE7A8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708457543/F21AA4447E954D0BF945B0C65AEAC3147B94956C/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "b08c1f", - "Name": "Bag", - "Transform": { - "posX": 5.661, - "posY": 1.786, - "posZ": 0.986, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Barkham Horror", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "df5fd1", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.192, - "posY": 3.027, - "posZ": -0.305, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708410170/D4127E3D1255D89CD6829131FC60722471D2434D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708406881/374951AF62E93DB10E32237BE4E98F7C2C94314D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5bd561", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.37280273, - "posY": 1.06000113, - "posZ": -2.25585771, - "rotX": -4.8685044E-05, - "rotY": 180.0, - "rotZ": 180.000031, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708410213/7D3454C8CD3E81CB7AFADBEE3555DA6CF80A5D16/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708406916/3FAEBBD786FAB3E42E02D9A7DF4C73F89A5FE9FE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7aeca6", - "Name": "Custom_Tile", - "Transform": { - "posX": -6.655, - "posY": 3.027, - "posZ": -0.344, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Jacqueline Canine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708409781/C504CD93965EC04EBCAD7440CEE2F5CC0CEF9B8A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708406425/5A57CC74B357FC9826F5E433109A5D7506AF5B0D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9b1574", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.09026277, - "posY": 0.9600017, - "posZ": -2.29498529, - "rotX": -6.1689534E-05, - "rotY": 180.0, - "rotZ": -3.79493031E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Jacqueline Canine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708409829/5B9442CA3BD4B0F37F58505B84EEA6E1AD76A4D9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708406473/27D805A6B11B91691FDA338CA981D264C92D98B4/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "35a602", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.073, - "posY": 3.036, - "posZ": -0.385, - "rotX": 1.0, - "rotY": 180.0, - "rotZ": 1.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "\"Skids\" O'Droole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708409369/88D089A83D503494EAC46DE1D41B6852D37C7518/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708405998/57C5A19E3FDDE6159F7D4C319C40F83CAA9E2958/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "81d8c5", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.36366594, - "posY": 0.960001945, - "posZ": -2.128488, - "rotX": -7.556884E-05, - "rotY": 180.0, - "rotZ": -5.03773372E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "\"Skids\" O'Droole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708409413/2C5B4CA5C5308BCA94B02FDA37446D2476434744/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708406061/324040CFDCAD02FA8C33585794D71751C3CCF6FB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ccff5a", - "Name": "Custom_Tile", - "Transform": { - "posX": -9.453, - "posY": 3.027, - "posZ": -0.406, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Kate Winthpup", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708408923/70406CED274C9EE96A5275083C1472EEB7F42655/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708405508/E5578DBC5D96CA60DF4FCD962958B3AB48FBB7FF/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "7ee00e", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.76785517, - "posY": 0.9600023, - "posZ": -2.31039453, - "rotX": -1.90496849E-05, - "rotY": 180.000015, - "rotZ": -6.25381972E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Kate Winthpup", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708408969/3B7B47E8D072406708C65F819662ECC5F4B43CA7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708405554/F313FAF23B1125C6E1F064177146B0C1726D732B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "41af3c", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.923, - "posY": 3.011, - "posZ": 0.641, - "rotX": 4.0, - "rotY": 180.0, - "rotZ": 358.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Bark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708408532/033B521E7599C6A651B9BB92D13880FAF1974002/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708404997/A7821E94249324720D9EEC18F51C6E0F32511F20/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5887bc", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.230135, - "posY": 0.960002542, - "posZ": -2.34120679, - "rotX": -2.02591837E-05, - "rotY": 180.0, - "rotZ": 9.68632048E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Bark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708408571/623901B6B223E8DAD4C28A007D34A10B54DD873C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708405075/B15AEA5DC9BC8532704ADE17AB22E90A2FAA021E/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "151d53", - "Name": "Bag", - "Transform": { - "posX": 8.636, - "posY": 1.786, - "posZ": 2.398, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Starter Decks", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "68c7c8", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.563, - "posY": 3.026, - "posZ": -3.217, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Stella Clark", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708341095/86B5B824E926576A815D31D26AE3D0A855D78A2E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708355417/A1FCE73454122F3B14CBCFC313660D9D032624F6/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "0da48f", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.90033984, - "posY": 0.960001469, - "posZ": -2.64144874, - "rotX": -5.352913E-05, - "rotY": 180.000015, - "rotZ": -2.38037519E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Stella Clark", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708341146/6372AE92829917C3270E03943CAB54DC19B2F7B0/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708355469/E91F08E1796B1E0E4F21E2E1B7EEF68CB35D433B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8007d3", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.893, - "posY": 3.026, - "posZ": -3.189, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Jacqueline Fine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708340666/402C6AA9EACD3D74A286A7BB3F59FADFED47D95E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708354798/23612793AE012CDFD906D19FAC167E81F3ED78F7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "0896ca", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.402367145, - "posY": 0.9600022, - "posZ": -2.61121845, - "rotX": -1.754304E-05, - "rotY": 180.0, - "rotZ": -1.87718229E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Jacqueline Fine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708340716/31853BB4E6FB5C7C6EB93B48698DEB3DB9198DFD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708354840/A8B4F12E6DD0A1BC641627FD3170671F34551F10/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "801e8a", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.196, - "posY": 3.026, - "posZ": -3.201, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Winifred Habbamock", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708340350/3880B5C3B9AEA9B05CA358A0DBAAB87D57E33BF7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708353668/6FFADF9E7F21046DAEDDCC7C7B049831353C8329/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ee63fb", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.52050519, - "posY": 0.9600022, - "posZ": -2.68199062, - "rotX": -2.17946163E-05, - "rotY": 180.000015, - "rotZ": -9.511086E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Winifred Habbamock", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708340389/3602C2AD31DB9A9120811C379C432C1924EB9471/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708353726/A9E04180C3AE495EA6CB2FA331CEBA034B83EB30/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "98607a", - "Name": "Custom_Tile", - "Transform": { - "posX": -6.488, - "posY": 3.03, - "posZ": -3.207, - "rotX": 1.0, - "rotY": 180.0, - "rotZ": 358.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Harvey Walters", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708339924/8530773A311DEA65FB59380D60635DC1510E1D3F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708352413/D2D829214A3D78A3CFE97319A3D3C2B1CAD66AED/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "f22888", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.77317119, - "posY": 0.960002542, - "posZ": -2.53136683, - "rotX": -1.77730763E-05, - "rotY": 180.0, - "rotZ": -3.75366676E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Harvey Walters", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708339987/528F0AB144F2CFA1F81E13B0BA38590D0B2D87B3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708352462/AB9320A7EFEAABB89C81402FE25E2B86D56518D1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "41af3c", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.911, - "posY": 3.026, - "posZ": -3.23, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Nathaniel Cho", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708339555/596AB8F4AC36C120431CE65AE962919660CF7F2D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708344319/1CBFAE08EF3FDD939AEEC1195F53B6E57F05D098/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "312943", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.185497, - "posY": 1.06000245, - "posZ": -2.944681, - "rotX": -1.985872E-05, - "rotY": 180.000015, - "rotZ": 180.0, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Nathaniel Cho", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708339610/369551E19D2D282ACDEFE9E828B5693736415C60/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708344373/47E1455D596285DA9AC591B8CBBA8A6BBC3A399D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "4c6a2e", - "Name": "Bag", - "Transform": { - "posX": 15.038, - "posY": 3.288, - "posZ": -2.646, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scarlet Keys", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "ba9781", - "Name": "Custom_Tile", - "Transform": { - "posX": 19.265, - "posY": 2.12, - "posZ": 1.937, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Charlie Kane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1814399894375014306/82D626CE83CFE1AE3F3A3B0A521F2DFB177DF83A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1814399894375030660/C6ED3F6B2F5351E103EF1277496BE3088F332458/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "77f37b", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.76233363, - "posY": 0.9599999, - "posZ": -0.41345, - "rotX": -3.02555077E-06, - "rotY": 180.000031, - "rotZ": -5.65799564E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Charlie Kane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1814399894375034886/D7435766AE971D4EC42ABCB34CFA7A92B1446224/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1814399894375030766/8DDB3114E8EAA4E6644DA807E802C03C6F54CE58/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "798bfe", - "Name": "Custom_Tile", - "Transform": { - "posX": 16.7, - "posY": 1.971, - "posZ": 14.171, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Darrell Simmons", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632960994/1370ADD64F9B581016C956F7EE4E7BB3A188B2D4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632947355/941B61A3D6771DEA0B0BBE3F603015073D856D40/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5bd561", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.1882906, - "posY": 1.06, - "posZ": -0.45706138, - "rotX": -4.26442239E-06, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Darrell Simmons", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632961033/B7EB0A964E3A2D285CD669B65A6D09B80219FB0C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632947406/933B7F89F93F09B06C4B089A621D4CE26BF65DB9/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "983a88", - "Name": "Custom_Tile", - "Transform": { - "posX": 17.686, - "posY": 1.971, - "posZ": 11.669, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Amina Zidane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632960330/90E6E1620ACFD62849623DF312D75DEBA216BC4D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632946771/4FF34F9BE90B5C5882C6CADF9A172E0E2005BAA8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9b1574", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.7728888, - "posY": 0.9600003, - "posZ": -0.347122, - "rotX": -2.49907916E-05, - "rotY": 180.000015, - "rotZ": 1.26301475E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Amina Zidane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632960426/FCE12D171233548F91BAC47BD2DCA07557FDE6A7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632946814/0D8C9527E570E7F83FC14B94C9FC5C76A263735C/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "162b69", - "Name": "Custom_Tile", - "Transform": { - "posX": 18.0, - "posY": 1.971, - "posZ": 11.686, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Kymani Jones", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632961069/49380318F33EDA0DC95C9A43322F0AFC8B4E5ECA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632947978/2D4BE572C692C50D61B7F388A68BECBD2E1DACFE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "81d8c5", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.856147, - "posY": 1.06000054, - "posZ": -0.32208845, - "rotX": -2.41434973E-05, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Kymani Jones", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632961104/698C84C2E7E5A963C804F1BC15DBD0958D3E12FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632948332/14ABF11FB8CAFC7377425F01773F10B51B6DCA58/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "145581", - "Name": "Custom_Tile", - "Transform": { - "posX": 19.211, - "posY": 1.971, - "posZ": 12.862, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Vincent Lee", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632952090/B031DAA4DB280D0D11A41CF8351A200913C2F558/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632948931/5077C05281A2E04372EBFE2BA974DADB867B8910/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "7ee00e", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.512538, - "posY": 0.9600007, - "posZ": -1.78131974, - "rotX": 6.02748223E-05, - "rotY": 180.000092, - "rotZ": -2.07854464E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Vincent Lee", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632952227/81ADF0FEFD4F8AD83F296FC252792378622CFFFF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632948977/750B84BB13732CD535E935D33778FE514E924685/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f44b03", - "Name": "Custom_Tile", - "Transform": { - "posX": 17.477, - "posY": 1.971, - "posZ": 11.928, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Carson Sinclair", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632951929/10AD6AC10E9125B22E4F0BF08EB53393DE19CF84/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632949464/2D23C92B73A245B0359ACF0FD728CA6D287A491E/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5887bc", - "Name": "Custom_Tile", - "Transform": { - "posX": -6.271518, - "posY": 0.960001945, - "posZ": -0.225683391, - "rotX": -1.050811E-05, - "rotY": 180.000076, - "rotZ": -3.599694E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Carson Sinclair", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632952034/870E0122E968A8072CC6F5300011507EE611917F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632949502/8370097D70B1D2EDEA4FBAA398F86577D05B8FF5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "c4deec", - "Name": "Bag", - "Transform": { - "posX": 16.654, - "posY": 3.288, - "posZ": 0.415, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Edge of the Earth", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.16281, - "g": 0.82058, - "b": 0.96341 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "2eea14", - "Name": "Custom_Tile", - "Transform": { - "posX": 13.05, - "posY": 2.025, - "posZ": 0.184, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Bob Jenkins", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127523334/29041B1A9ECCAD66934F7394C1BAAD5A29419D5C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127589857/8350D4B8CA0167FD63AE6F4252DB131DCF02068F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5bd561", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.87873745, - "posY": 0.9599999, - "posZ": 4.86478758, - "rotX": -6.98059E-05, - "rotY": 180.0, - "rotZ": 2.13232343E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Bob Jenkins", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588327/419EF2D650774CCB0500C73CFC43AC77D234747F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127589908/773A07E5D19FAFDA6AF71CEBC069175C769EF9ED/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ea25c3", - "Name": "Custom_Tile", - "Transform": { - "posX": 12.838, - "posY": 3.473, - "posZ": 5.945, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127522876/4B0FEBAFA852F2D0A8C5496CF467EEB190EABD6C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127590802/89F9AF2C4EAFD5ABDB3E877213F79C0D4A410C78/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9b1574", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.380549461, - "posY": 1.06000018, - "posZ": 2.61119843, - "rotX": 3.82719481E-05, - "rotY": 179.999908, - "rotZ": 180.0, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588477/F570ACBA35CB2F916284EFF8F671646235DA822C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127590872/69AEF24314609C572C8EC2443582BE04F2186806/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d9a9ba", - "Name": "Custom_Tile", - "Transform": { - "posX": 12.61, - "posY": 3.472, - "posZ": 6.315, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Monterey Jack", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127522568/63253F03CECE5EDF2042D17AFFA5A1F082DD7ECC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127593370/DD3BE0CB11F4308ED5C966D8B6620BB50BD11186/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "81d8c5", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.180552, - "posY": 0.960000157, - "posZ": 4.300206, - "rotX": -2.00522372E-05, - "rotY": 179.999969, - "rotZ": -6.758973E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Monterey Jack", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588525/D4FA9699B6ED018ED996622689AD6384CA7833D2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127593415/FA319D0449914FDED7A263FBECEF3FA4714C1905/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "3fc084", - "Name": "Custom_Tile", - "Transform": { - "posX": 12.821, - "posY": 3.481, - "posZ": 5.84, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127522098/E3BE272A6CDA2AD18B26FD9A8A2553006DB02EF3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127592641/5C7D4DBFC0F62886306691D6596E87C064F353D9/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "7ee00e", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.154894, - "posY": 0.960001349, - "posZ": 4.303051, - "rotX": -3.42380154E-05, - "rotY": 180.000061, - "rotZ": 1.63141249E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588586/8BC5F352FA3F5C2D4BF09F424A1649604D3974B7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127592732/BB9E64CC70B4E6BD61EEBDD74839B8E2CBA72E2C/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "38912e", - "Name": "Custom_Tile", - "Transform": { - "posX": 11.651, - "posY": 3.434, - "posZ": 7.403, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Daniella Reyes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127521616/39573C71B46B811A60950D96773E901A90970259/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127591539/554A5A800A2C267F06CD7E9916E7DDAFEC381EF8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5887bc", - "Name": "Custom_Tile", - "Transform": { - "posX": -9.118571, - "posY": 0.960001349, - "posZ": 4.295325, - "rotX": -7.119444E-05, - "rotY": 180.0, - "rotZ": 5.381034E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Daniella Reyes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127588406/F938D09732F8FDBDAD79625BDA22820D52B6A5C5/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127591604/10ED90016BFAA3922CD739B54BD7CBF3BD34C6D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "e65163", - "Name": "Bag", - "Transform": { - "posX": 14.211, - "posY": 3.288, - "posZ": -4.093, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Innsmouth Conspiracy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70196, - "g": 0.0, - "b": 0.14874 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "ea374e", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.658, - "posY": 3.026, - "posZ": -3.208, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Silas Marsh", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1689372753836133538/08468DD39631F30C51A0D315DBE9827C3C2BC1F7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708277471/62E0152FFC85349404B3B952366F83AC3D730133/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "4a5e7a", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.31860137, - "posY": 0.960001469, - "posZ": -2.99149966, - "rotX": -5.28490418E-05, - "rotY": 180.000031, - "rotZ": -3.02718163E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Silas Marsh", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708269049/E0FAA98DADFB179B943E24145E590BD71A1779BF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708277518/28DA0C3837F55D1D6C6E08FF0B60C09E5ED8E33A/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "cc7ebf", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.897, - "posY": 3.026, - "posZ": -3.246, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Dexter Drake", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708268582/D82F61CFBC8EC78B52B91DC150B694AEAA8786F8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708276933/1F855BF79C7F245CD86DF20A6DF3EFD003937DD8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "bae011", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.53126442, - "posY": 0.9600016, - "posZ": -2.534034, - "rotX": -4.97978253E-05, - "rotY": 180.0, - "rotZ": -3.80652418E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Dexter Drake", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708268635/F1EF016E4474C1EC62988C8E36B1BF096DE05A5C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708276987/583BFF57285786963195B100877F2C46A36E0C63/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "54285c", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.233, - "posY": 3.026, - "posZ": -3.237, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Trish Scarborough", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708268082/2B7A49FAE3A48E06D00848FC1E13228836AD72D9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708275800/C622A40AC5C14098BFB7B0ABE377E6A8A978A76F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "1187f5", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.2628448, - "posY": 0.9600018, - "posZ": -3.1409502, - "rotX": -2.1589367E-05, - "rotY": 180.000015, - "rotZ": 4.40210943E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Trish Scarborough", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708268124/F4AFECA42E7336BC62B6D92FBDE56CA5B0C8D099/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708275836/000C6C99DB78208FD56EFE36A6F5E8895BFC67F0/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "41af3c", - "Name": "Custom_Tile", - "Transform": { - "posX": 19.505, - "posY": 1.971, - "posZ": 15.45, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Sister Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708267155/357D4F44C80BF3EDA4DE2571580CD51AD0409DAD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708274860/6D669E6A0635375970BFFA53B8E4827C1217CD86/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c0b80a", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.37668073, - "posY": 0.960002065, - "posZ": -2.78234076, - "rotX": -0.000101334554, - "rotY": 180.0, - "rotZ": -4.245368E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Sister Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708267218/AE7FE2333D8324CE16E72FEA3C75834F077C9E81/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708274917/53943BB118CED98CCEFFF4E775A364D6153D8BAD/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e23b96", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.612, - "posY": 3.031, - "posZ": -3.277, - "rotX": 358.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Amanda Sharpe", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708267572/13622DE74585FC4876A8EFEE8420F8C836BA8519/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708275352/896FBACDC6BBDCD438BA962B9A02B0D13B597989/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c396fd", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.09815109, - "posY": 1.06000173, - "posZ": -2.77054262, - "rotX": -2.325564E-05, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Amanda Sharpe", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708267631/1D18D69C99B182A73C6A5FA575DE99B44852E846/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708275387/ADA399872F35C5633E24ED2963532A2AA50928EA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "0c3907", - "Name": "Bag", - "Transform": { - "posX": 9.417, - "posY": 1.787, - "posZ": 2.652, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Dream-Eaters", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.39143, - "g": 0.20585, - "b": 0.83798 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "766ad4", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.207, - "posY": 3.027, - "posZ": -5.766, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Patrice Hathaway", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708201644/A0164787739161D57DAE1776D9385A761A6DCCA8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708197974/23DC99948D8444641D9196853ED669B80B4E1458/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "f1af3a", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.75974548, - "posY": 0.960001945, - "posZ": -2.82789421, - "rotX": -2.6050433E-05, - "rotY": 180.000015, - "rotZ": 1.294456E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Tony Morgan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708201716/30C452E02E8909A9B104CE8ACC0E66DC41976DE2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708198074/6B49DCCBADD6BC03EA4E6564C5D49ABA6E5DD745/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "1554fb", - "Name": "Custom_Tile", - "Transform": { - "posX": -6.512, - "posY": 3.027, - "posZ": -5.778, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Luke Robinson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708201100/5858E2373A89F6CB16FEBE701D3946BA9C965997/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708197291/94ABB4D5AA7291F65EDFB7B2C3CCA6AA3EF0522F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "f1af3a", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.454549, - "posY": 0.960002065, - "posZ": -2.839298, - "rotX": -2.40172212E-05, - "rotY": 180.000015, - "rotZ": 1.1604704E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Luke Robinson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708201147/2B427DD014C4FC5209B9AF01F1BC19C79AB0C1F0/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708197345/58932A027E2D20CB188338F45734A0818F3EB38C/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "4ac15b", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.796, - "posY": 3.045, - "posZ": -5.867, - "rotX": 1.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Tony Morgan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708200588/B83243F3620B8A3F857EF19BD6C918DB791535E5/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708196300/FB58ECD4C705DDBE1292D2697D813C23C24C9BB9/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "f1af3a", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.8300723, - "posY": 1.06000137, - "posZ": -2.92916632, - "rotX": -1.88975428E-05, - "rotY": 179.999985, - "rotZ": 180.000031, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Tony Morgan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708200641/15C6BAF9B845A1180C9C02DFD64D8D4466B5B3B9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708196357/33B209F29895F79441FD38C527C7B547347C095D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7c5bee", - "Name": "Custom_Tile", - "Transform": { - "posX": -9.053, - "posY": 3.027, - "posZ": -5.91, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Mandy Thompson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708199818/DD1907BF3605BF9326C4346C159A2A37E7DAC3BF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708195342/5351DA7E5E49F475C713410A0E987F1D630C0319/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "f1af3a", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.6790991, - "posY": 0.9600009, - "posZ": -2.9580245, - "rotX": -0.000123189631, - "rotY": 180.000015, - "rotZ": -1.606895E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Mandy Thompson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708199872/294C8959E21BED5D48F93E30897485028A4B7174/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708195418/3027FAE236F7533F31123C4A2151F1C88BF800F7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "83023e", - "Name": "Custom_Tile", - "Transform": { - "posX": -12.146, - "posY": 3.034, - "posZ": 1.967, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 358.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Tommy Muldoon", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708199362/4BD038D582CFD3330C47C61F58EF6A7CE9E1CE1B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708194665/A34C45D69EC2BE7C20E1805631BB915C013B88F4/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "2ba63a", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.34762859, - "posY": 1.06000113, - "posZ": -2.98036647, - "rotX": 2.02197152E-05, - "rotY": 179.999954, - "rotZ": 180.000214, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Tommy Muldoon", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708199413/555A8115D647A95F0B148ECF884E01C708EF6016/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708194721/C86B6842A9D4FB9D48FB9D37DAC53258A957403D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "f2acef", - "Name": "Bag", - "Transform": { - "posX": 8.805, - "posY": 1.786, - "posZ": 2.844, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Circle Undone", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.10799, - "g": 0.0, - "b": 0.20035 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "b47207", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.903, - "posY": 3.027, - "posZ": -4.263, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Marie Lambeau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708059931/C11E59927991E198A6551EAE10D576C21427CFE0/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708064666/3B3FCB362F89D258EA5CE949974064DEB781AAC7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "662b2f", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.57860065, - "posY": 0.960001945, - "posZ": -3.67193651, - "rotX": -2.29221332E-05, - "rotY": 180.000015, - "rotZ": 8.347389E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Marie Lambeau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708059970/29895A4A8B99A7FF1A2BA4AD494F291C4694998B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708064716/CF414F2E1AEA52AC319C8EFA22763DDCA6443BCA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "eb0c23", - "Name": "Custom_Tile", - "Transform": { - "posX": -6.033, - "posY": 3.027, - "posZ": -4.301, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Rita Young", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708059477/A3B4AAD4C8173EF3EE8F99DC1F943E4A55D231EB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708064098/9E1DB28CC00E4CD43B52E8814A990EC6C1439028/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b96925", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.22831357, - "posY": 0.9600022, - "posZ": -3.73485827, - "rotX": -2.3794717E-05, - "rotY": 180.0, - "rotZ": -1.85044613E-07, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Rita Young", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708059524/2F6A680EF130769312A480970BB67A7AF0AE694A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708064139/800CD01A0EE5917CA4D6AA0AEEBB960ECDFD3768/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ca7ab1", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.172, - "posY": 3.027, - "posZ": -4.282, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Diana Stanley", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708059083/FE0F13EC3BC4129B83902B4ADDD765A5E197B365/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708063555/2F9E266C40AE0397082EFDD464CEFB434AAA239F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "dc1db5", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.123398937, - "posY": 0.960001349, - "posZ": -3.721062, - "rotX": -2.01119165E-05, - "rotY": 180.0, - "rotZ": -1.17004083E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Diana Stanley", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708059120/46F8A254A2FF410E3089A56C4A26649D1A4333CA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708063597/B87F1B817B0D73543775B5CB291408FA791716E8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d37624", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.403, - "posY": 3.031, - "posZ": -4.313, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 358.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Preston Fairmount", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708058707/B20EB03B233EF19F3DCE2DF867F9F8FCEF02D9E2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708062694/41602A79A70F570C0B2BDD3F48EB3E0C7277547D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "27b98a", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.1744051, - "posY": 0.9600011, - "posZ": -3.82854247, - "rotX": -0.000163961755, - "rotY": 180.0, - "rotZ": -2.39470028E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Preston Fairmount", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708058754/667A445AD0EAF7962759D5BD349F7B6C53662D28/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708062739/B79E2EFBDC5344261BD995937C005CE0DDE6AFC7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5f7f8b", - "Name": "Custom_Tile", - "Transform": { - "posX": -9.555, - "posY": 3.027, - "posZ": -4.319, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Joe Diamond", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708058198/E270E67DFC8D0CCF6B3F27ADF8252017F35860C5/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708061628/BD683C1BBF4D6284DBF6456B9BF21CDE56875D38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "e4d96a", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.83795786, - "posY": 0.9600017, - "posZ": -4.145151, - "rotX": -7.161909E-05, - "rotY": 180.000015, - "rotZ": -9.196562E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Joe Diamond", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708058234/BFDAF1FB116F6CB0DBAC6E5E2EA4C6D169270B07/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708061703/26265EF57B419FD1EE547B539BA791A34010DA6D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "a038ff", - "Name": "Custom_Tile", - "Transform": { - "posX": -9.927, - "posY": 3.036, - "posZ": -4.345, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 358.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Carolyn Fern", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708057800/291702BF8534F8B2243E83E9A26970495545BE76/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708060895/93E0CEC02A71E77B025DEBE04062D565ABD65D11/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "bba1b0", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.584668, - "posY": 0.960001945, - "posZ": -3.87626958, - "rotX": -1.32751647E-05, - "rotY": 180.000046, - "rotZ": -3.45373155E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Carolyn Fern", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708057853/34252766A27380A65E779226890EA55F9C08818E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708060953/2D7FA90625496CF0D2AD658E89B1853964C842EC/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bf6b32", - "Name": "Bag", - "Transform": { - "posX": 7.598, - "posY": 2.859, - "posZ": 6.621, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prologue", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "7aeedd", - "Name": "Custom_Tile", - "Transform": { - "posX": 5.876, - "posY": 2.483, - "posZ": 6.451, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Penny White", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044314/922727E14CC8730ADE0AB75353A4B64C60638667/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708041558/B18C704D029D487F5144ED43C59EFA59663CA809/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "69a021", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.586978257, - "posY": 0.9599977, - "posZ": 9.179146, - "rotX": 0.0001862956, - "rotY": 179.998123, - "rotZ": 0.000128975968, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Penny White", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044371/943EA7598178161B4718C9DD5D64C65F489CE35F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708041617/715DCD1F1ACB93954D25583FD9544D29271A015E/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8b4fcc", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.804, - "posY": 2.571, - "posZ": 6.467, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Valentino Rivas", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044431/AEFDF24400F85B660E1510B6A9546BEF8AE33A82/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708040670/D6E2F0956336D577BC309FEF99BA4F6A8BEA10B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "57e394", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.422660261, - "posY": 0.960000038, - "posZ": 9.16702652, - "rotX": -0.000156121721, - "rotY": 179.99794, - "rotZ": -4.16127332E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Valentino Rivas", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044475/DAAE1705D3922D41DA166661D2BBC990470CFF61/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708040724/4EC16CEEFEC119C5BEB75F6E7444FE4515CA36D4/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "eb6c8f", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.738, - "posY": 2.801, - "posZ": 6.367, - "rotX": 14.0, - "rotY": 177.0, - "rotZ": 7.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Jerome Davids", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044217/CE2E92945A690E13C7FE95586387811FA95048ED/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708043081/D91383186F9B8AA422B0811DD8F5522EDB5A14D7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "0d9632", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.16228342, - "posY": 0.959998369, - "posZ": 9.223023, - "rotX": -8.221584E-05, - "rotY": 179.999969, - "rotZ": -8.264612E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Jerome Davids", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044267/AB7EE8AA3481039EB6F147FA7626D0076C3188E3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708043122/B0840FC4C8EC8E3971B33A0E14A8E43D8C4EEE6A/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f9cba2", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.322, - "posY": 3.029, - "posZ": 7.753, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Gavriella Mizrah", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044131/DC186D07DAB34575B1A3544784FBE993C11E229B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708042402/D2901AC03697A42E54228B5D8D7F96B34DBD5720/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "77f37b", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.490250677, - "posY": 0.960000038, - "posZ": 9.250848, - "rotX": -0.000178494083, - "rotY": 179.998016, - "rotZ": -4.01837751E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Gavriella Mizrah", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708044175/0876392599AB0CAF855CA828A4F72E8B01F6B056/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708042460/684FE39DC4954AAA65F13CE0E7776ED1480DD717/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - } - ] - }, - { - "GUID": "d32231", - "Name": "Bag", - "Transform": { - "posX": 15.585, - "posY": 3.288, - "posZ": 1.935, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Forgotten Age", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.41289, - "g": 0.0, - "b": 0.15196 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "cdd5b5", - "Name": "Bag", - "Transform": { - "posX": 17.622, - "posY": 1.792, - "posZ": -9.515, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "City of Archives", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.41176, - "g": 0.0, - "b": 0.15294 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "db5660", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.202, - "posY": 3.021, - "posZ": -5.563, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494885/788378B90865B37A2AAF16F0E5E78F04E4B02828/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508538/25188B78E433A1487103B4D7FEBF8660AEBDB017/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ab31aa", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.855447, - "posY": 0.9600004, - "posZ": -3.09236574, - "rotX": 1.00537472E-05, - "rotY": 180.000076, - "rotZ": -2.682792E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494922/D8FB1A9F81A9280B7FE5DBD7B4C2AB7F47ACFDCE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508579/64A0C0B09767C447CC1441E1B54BA67FB66DA3BA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ae05ab", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.94, - "posY": 3.021, - "posZ": -5.623, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708495147/5E40C14ABB1F144C335EDF3C38B474546EF9945F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508538/25188B78E433A1487103B4D7FEBF8660AEBDB017/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ab31aa", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.1168685, - "posY": 0.9600005, - "posZ": -3.15264, - "rotX": -2.5679552E-05, - "rotY": 180.0001, - "rotZ": 1.33664835E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708495191/C7765026DA0DC1C0CA01830224F04468A6B5CBBD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508579/64A0C0B09767C447CC1441E1B54BA67FB66DA3BA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7edb33", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.257, - "posY": 3.027, - "posZ": -5.737, - "rotX": 358.0, - "rotY": 180.0, - "rotZ": 1.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494812/35FCC25E42DEEFBDEE5532239458267C6A2249FE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508538/25188B78E433A1487103B4D7FEBF8660AEBDB017/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ab31aa", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.1984168, - "posY": 0.96000123, - "posZ": -3.264808, - "rotX": -2.00939721E-05, - "rotY": 180.0, - "rotZ": -9.9067E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494846/558E4AE3FCAB615FF4DD53792BC437859380AB97/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508579/64A0C0B09767C447CC1441E1B54BA67FB66DA3BA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "864f65", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.752, - "posY": 3.021, - "posZ": -5.871, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494976/72A53130063D24E953167BE7B0CA1AAC70C79DB6/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508538/25188B78E433A1487103B4D7FEBF8660AEBDB017/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ab31aa", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.30559611, - "posY": 0.9600012, - "posZ": -3.40010428, - "rotX": -2.09806967E-05, - "rotY": 180.000046, - "rotZ": -8.162348E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708495014/AF340EF63C3FA81AB77B57C304505D3D1E45D42A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508579/64A0C0B09767C447CC1441E1B54BA67FB66DA3BA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "59d9b9", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.19, - "posY": 3.021, - "posZ": -6.041, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708495053/9F1C7D1CF0A5F67422EB475891FFBC8B4AAE7332/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508538/25188B78E433A1487103B4D7FEBF8660AEBDB017/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ab31aa", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.87626529, - "posY": 1.01478851, - "posZ": -3.51791, - "rotX": -0.00464852853, - "rotY": 179.888611, - "rotZ": 6.892589, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708495101/BC22F1A3252365C98CD5E4CF8B90D5B7BF5D5D94/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508579/64A0C0B09767C447CC1441E1B54BA67FB66DA3BA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "41af3c", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.76, - "posY": 3.021, - "posZ": -6.169, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494679/FCF06130784FD5EDD0694D5794017F9ACB052315/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508538/25188B78E433A1487103B4D7FEBF8660AEBDB017/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ab31aa", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.70303059, - "posY": 0.960002065, - "posZ": -3.69831514, - "rotX": -2.12357427E-05, - "rotY": 180.000015, - "rotZ": 1.23184545E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230708494734/076A18365A14C7E7F89184FDFFBB50B3B539C586/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708508579/64A0C0B09767C447CC1441E1B54BA67FB66DA3BA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "c1f75b", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.619, - "posY": 3.016, - "posZ": -7.014, - "rotX": 358.0, - "rotY": 180.0, - "rotZ": 2.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Calvin Wright", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707750962/F45A0066CD7BE9E910401289D2F9BB1F313A5299/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707758465/E5CA9A3BF3B3179F1A10B02570EC798997022E8D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "57c445", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.716913, - "posY": 0.960000038, - "posZ": -2.35708261, - "rotX": -1.48394292E-05, - "rotY": 180.000015, - "rotZ": -2.52172267E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Calvin Wright", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707751017/03DB96699627ADEB657478D40C69B39A9ED58B61/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707758516/DE0C25D639BA250F1233C2E23C9556A7475ACCB8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f8d9b3", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.34, - "posY": 3.023, - "posZ": -7.006, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 1.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Father Mateo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707750559/FFC924E25985685F14BACCD3B2ADF1CB37D9B1C4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707758059/FF47A21028678562DF0ED3B4DF7D7814FE0281E0/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "00daa5", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.89721358, - "posY": 0.960000753, - "posZ": -3.04599237, - "rotX": 2.85328788E-05, - "rotY": 180.000015, - "rotZ": -4.14255665E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Father Mateo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707750616/8FE56DC4942B76B85B58969A9C4C31D15BE83DFB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707758100/8FC7921B1688B0C0059DBA6E920FB97740065E72/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "46ca51", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.618, - "posY": 3.022, - "posZ": -7.048, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Finn Edwards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707750170/5332C0513469EABC4C2F1B07EDAAE32F39770E70/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707757545/03D2D6CD390A00A82423C49D687A8CC47DFA43D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "fc0b63", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.196925431, - "posY": 0.9600012, - "posZ": -2.99892831, - "rotX": -1.80291991E-05, - "rotY": 180.0, - "rotZ": -2.61345076E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Finn Edwards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707750209/A710646322E7116EC3EBBB1254E9B4A68D6B7CE2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707757588/3537B8A94D9A6F042DA905329477EFD81391474A/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "56e051", - "Name": "Custom_Tile", - "Transform": { - "posX": 26.709, - "posY": 1.971, - "posZ": 23.639, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707749650/EDF46057C37CA94C52D4A3AF49BE78028530E121/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707756935/8D43B642B7250E7AFE9AD3B4AE6D49EE01EA3665/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ba45a3", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.201306313, - "posY": 0.960001, - "posZ": -2.90807033, - "rotX": -7.7487E-05, - "rotY": 180.0, - "rotZ": -5.331672E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707749696/773DAB8DB22BE7297D18D94B2940525FBBE17307/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707756990/F7769C9D015E6143276B37701234D4AD282B5404/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "0d621f", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.374, - "posY": 3.034, - "posZ": -0.189, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 1.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Leo Anderson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707749544/BD7A64A90A1FFA471FA4856CB29CCC273B18C7AE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707756335/CC5AFDEA8E26679935805BC32838833E8B12F215/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "839a34", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.64729381, - "posY": 0.960001469, - "posZ": -2.82980585, - "rotX": -2.17961933E-05, - "rotY": 180.0, - "rotZ": 1.16313149E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Leo Anderson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707749604/41DB7C12949B64EA6051C07CF09126D37A16D951/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707756395/E57E07E9A854840BE33D61949BC2B4E3BAC1BFBA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "b491bc", - "Name": "Bag", - "Transform": { - "posX": 13.893, - "posY": 2.283, - "posZ": 1.396, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Path to Carcosa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.94251, - "g": 0.89346, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "cbf983", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.98, - "posY": 3.027, - "posZ": -5.823, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Lola Hayes (Neutral)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707579964/900F66C54FA2AB64A74E93569BB414CA3C4BC281/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707599222/202D33AD1FFA1D282B483A6EDC7CC03D85595E38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5f42f1", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.67580843, - "posY": 0.9600007, - "posZ": -3.740093, - "rotX": -1.53140772E-05, - "rotY": 180.0, - "rotZ": -9.69686662E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lola Hayes (Guardian)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707580357/8291134B86F73EE0134CA1C7BB672B9B3F04ADC6/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707599222/202D33AD1FFA1D282B483A6EDC7CC03D85595E38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "47736a", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.67581034, - "posY": 0.960000753, - "posZ": -3.740094, - "rotX": -6.143066E-05, - "rotY": 180.000015, - "rotZ": -3.19443279E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lola Hayes (Seeker)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707580485/4B830419B7F3AEB58666165001877E1A415B47C9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707599222/202D33AD1FFA1D282B483A6EDC7CC03D85595E38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "b7003f", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.67581224, - "posY": 0.9600008, - "posZ": -3.74009514, - "rotX": -1.81608866E-05, - "rotY": 180.000031, - "rotZ": -9.431026E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lola Hayes (Rogue)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707580435/C82EAFF3B0E5C77E27118419AD91257EFF8EF922/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707599222/202D33AD1FFA1D282B483A6EDC7CC03D85595E38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "09fa62", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.67581367, - "posY": 0.9600006, - "posZ": -3.740096, - "rotX": -1.848765E-05, - "rotY": 180.000061, - "rotZ": -0.000100223086, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lola Hayes (Mystic)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707580397/65C490DDEF18EDEAD3EDD3AFE943C78B506B0044/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707599222/202D33AD1FFA1D282B483A6EDC7CC03D85595E38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "ecb749", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.675815, - "posY": 0.9600008, - "posZ": -3.74009681, - "rotX": -5.98378974E-05, - "rotY": 180.000046, - "rotZ": -2.76226965E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Lola Hayes (Survivor)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707580532/FCF2E57178A974ADCAF999CC50134D280CD16AE0/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707599222/202D33AD1FFA1D282B483A6EDC7CC03D85595E38/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "0c7474", - "Name": "Custom_Tile", - "Transform": { - "posX": -4.396, - "posY": 3.027, - "posZ": -5.886, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "William Yorick", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707579404/BF94E6FC0D4EC9C4916F23C8A1923A0CD558398A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707593832/B8C4E2D75CEFB6C2CC167855163F2A6904E751FE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "dacc50", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.68896341, - "posY": 0.9600022, - "posZ": -7.654583, - "rotX": -2.45705087E-05, - "rotY": 180.0, - "rotZ": 1.108417E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "William Yorick", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707579454/B5C11E1718148750AA9BD6EBEFA3B61A28940D6A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707593898/33285F298EF3C32C8DE080A330129CFFC3B34BFC/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f88bf1", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.789, - "posY": 3.027, - "posZ": -5.848, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Akachi Onyele", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707578462/CCF763DA8A203AD1F5BE8ABB07AEAEA4C1B3ABD8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707592723/70375E6B3B8398F8882538F8F5681685B0F77222/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "cd565d", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.07932115, - "posY": 0.960002065, - "posZ": -6.579502, - "rotX": -1.75458481E-05, - "rotY": 180.000015, - "rotZ": -2.34869785E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Akachi Onyele", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707578505/A04B17BD536BC2DC33F5F070E5D58694A9527032/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707592774/0A9B3E42B422F90108EFABC21379DB6E26051F17/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7b1d63", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.057, - "posY": 3.033, - "posZ": -5.896, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 2.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Sefina Rousseau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707579295/FB9F7FD8DC7DC451E702FB89303BF5869C1D6219/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707593340/B0EED020029C8BE786CC86AC0950DE92EB8A0DE1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "117a1f", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.7471178, - "posY": 0.960002542, - "posZ": -7.25411367, - "rotX": -1.40798393E-05, - "rotY": 180.000015, - "rotZ": -3.45095068E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Sefina Rousseau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707579352/48339D32236F9D45D41870ECB9FEDD39649491BF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707593391/4DF8A84A64A495829361DB6CE123BD576D52F290/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "96d784", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.327, - "posY": 3.027, - "posZ": -5.969, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Minh Thi Phan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707575701/89C1B8B59FCD52612A43D9817898F3472C190416/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707583229/302295141EC60FA90CB2CA97A4DB56EDDB7B9CEA/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "179489", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.5513342, - "posY": 0.9600035, - "posZ": -6.75175858, - "rotX": -1.96382116E-05, - "rotY": 180.0, - "rotZ": -3.02018616E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Minh Thi Phan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707575755/A90C4EA9E4ACCAAEA025F88F4367700F1605BF10/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707583273/7EB0882BCC380F605F3A35394A5468FB16AA1822/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "0d621f", - "Name": "Custom_Tile", - "Transform": { - "posX": -9.58, - "posY": 3.027, - "posZ": -6.025, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Mark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707575606/D310D938F2F80BE2AA945D11D5A00DE859E0B7D2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707582720/274DE982E6EF7CC6CE291A5501F0529FAF89D8FD/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ecf2a7", - "Name": "Custom_Tile", - "Transform": { - "posX": -2.923844, - "posY": 0.960001945, - "posZ": -3.94195914, - "rotX": -2.43047252E-05, - "rotY": 180.0, - "rotZ": 1.12649741E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Mark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707575664/8F44118C6EB1153BA870842D850CF23029766D92/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707582776/E9038E182C6A99AFB84404CAD53D74B5EB214B47/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "315223", - "Name": "Bag", - "Transform": { - "posX": 10.731, - "posY": 1.786, - "posZ": 2.23, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Dunwich Legacy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.25261, - "b": 0.17373 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "0d621f", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.813, - "posY": 1.971, - "posZ": -4.712, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707435937/D3FD68FB9D25C45F4351E231A1A1500F8B52B0E8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707437839/DF4CBA1822068BBA831D3EB8AD13474FB8DBCA81/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b1ef91", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.62513852, - "posY": 0.9600011, - "posZ": -7.34163046, - "rotX": -0.000219753332, - "rotY": 180.0, - "rotZ": -3.21620137E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707435976/099E4506B9C55A529BEE7202D3A9E62162B95C14/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707437877/A17FC0F81149FD5750D725CEA1CB8E2E2990CAE2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "42a760", - "Name": "Custom_Tile", - "Transform": { - "posX": -5.528, - "posY": 3.027, - "posZ": -7.831, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Jim Culver", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436133/DC2C6B48A6F101ADFEDC5CA8ADDC6F2D7FA1D384/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707440813/6326948A8D087B2101B9B283C1856EFB54F8E580/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "682611", - "Name": "Custom_Tile", - "Transform": { - "posX": 3.24929881, - "posY": 0.960000753, - "posZ": -3.83163, - "rotX": -5.96265854E-05, - "rotY": 180.000031, - "rotZ": -3.143159E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Jim Culver", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436175/12917AAB8964F6124B3CDF7FFC0FAE69BBFA4C82/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707440855/BC820789B1008EC280F57C9D88D56F1754B0E57F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "56ca21", - "Name": "Custom_Tile", - "Transform": { - "posX": -6.767, - "posY": 3.043, - "posZ": -7.821, - "rotX": 1.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Jenny Barnes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436022/F40952A2FE9BB173600E2F9CE67BCEDBCFEEABAB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707439869/3AA87F4C885E1928F938394AF7754160FCC0694D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "93e70e", - "Name": "Custom_Tile", - "Transform": { - "posX": 2.41232944, - "posY": 0.9600029, - "posZ": -6.38804436, - "rotX": -2.06030254E-05, - "rotY": 180.0, - "rotZ": -1.89492821E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Jenny Barnes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436065/6A5BB76DE8B25F6D7C83B3CDA901357B8ED083A3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707439928/BDA49447868E6DC922CA397493CBBABA7C904C23/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5996b0", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.86, - "posY": 3.027, - "posZ": -7.844, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Rex Murphy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436215/18CA3FE1CE4A7591CE9C57673CCDF38F436B1BD9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707438760/FAC759B3ADCD73C2FC051AB3615E617C786D5183/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "e09522", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.849555, - "posY": 0.9600011, - "posZ": -3.68585539, - "rotX": -0.000162696844, - "rotY": 180.0, - "rotZ": -2.29980924E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Rex Murphy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436256/F4B3B32406F832907733CCFDC02F9292B9232DE2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707438830/73F639A55F38437B85A9B8F5E28431C5BD87989C/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "60372a", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.991, - "posY": 3.027, - "posZ": -7.855, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Zoey Samaras", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436303/6B67F7F71CACE92D53DB204A6643392000EC5BE2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707434611/45CAB2711B641D5400837665F1D6CD3D16B27C8D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "89d111", - "Name": "Custom_Tile", - "Transform": { - "posX": -3.203708, - "posY": 0.960002065, - "posZ": -3.620548, - "rotX": -2.52560785E-05, - "rotY": 180.000015, - "rotZ": 8.123292E-06, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Zoey Samaras", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707436343/8E7FB54B7D1A9FD6D037A4AE044A257580EC7BB8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707434655/CE8F32FF4549A14B8BADE3C0E48F68F0E61B72FC/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "177b26", - "Name": "Bag", - "Transform": { - "posX": 14.623, - "posY": 3.277, - "posZ": 6.751, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Core Set", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.08469, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "e6d299", - "Name": "Custom_Tile", - "Transform": { - "posX": 22.153, - "posY": 1.971, - "posZ": 6.95, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Wendy Adams", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707202088/2216F76282F4A4FCB1778C7E5E574B88B001D379/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707202899/CFBE0B6D3BA95995F379A602C5A8A1A583D00793/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "29385d", - "Name": "Custom_Tile", - "Transform": { - "posX": 1.96192133, - "posY": 1.060002, - "posZ": -5.86200142, - "rotX": -0.000135441631, - "rotY": 180.0, - "rotZ": 180.0001, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Wendy Adams", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707202149/4A0FD0F0B7A2D889E50B39F972595AC00A2C8A8F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707202960/E1CD12C981BBAAFACA669288E245EE18EA70323E/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "01470e", - "Name": "Custom_Tile", - "Transform": { - "posX": 38.457, - "posY": 1.971, - "posZ": 14.892, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Agnes Baker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707198420/4DFF0CA80A65CF166F3455373A5226C153CE7A7A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708116857/F6525F4381108EA389FCB0A907025891D3C0A560/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "920f62", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.53456926, - "posY": 1.06000042, - "posZ": -2.58590031, - "rotX": -4.193393E-06, - "rotY": 180.0, - "rotZ": 180.0, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Agnes Baker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707198474/49327AD91E6F8064ACB52160E7AA58D26241A7A8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230708116942/214E8832F3F632A6092FB4D9788B42C73EA70A4E/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e8f6cd", - "Name": "Custom_Tile", - "Transform": { - "posX": 35.114, - "posY": 1.971, - "posZ": 15.102, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707186936/7AE575933AB57B52351134E4952A625D6D2297A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707188729/E4081F8F55E530E269E390A35613A8D4D311BD02/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "150597", - "Name": "Custom_Tile", - "Transform": { - "posX": -0.395289838, - "posY": 1.06000257, - "posZ": -5.907174, - "rotX": -0.000165865713, - "rotY": 179.999985, - "rotZ": 180.000122, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707186988/9C5CF0742C6EBC8238C92E195B1D5AAB1B4D7B22/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707188794/AF0E4CD6B11F907B85D09F26651E3B0EE961FCA3/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5bc05f", - "Name": "Custom_Tile", - "Transform": { - "posX": 19.938, - "posY": 1.971, - "posZ": 9.85, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Daisy Walker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707154662/243E17ADB4A0E7510E07DD354F805D349E03E287/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707152276/A9BCA599A2FAA24875E29E091F8EED45D1E9F905/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "bc30ce", - "Name": "Custom_Tile", - "Transform": { - "posX": -1.526291, - "posY": 1.06000268, - "posZ": -5.908639, - "rotX": -1.18843254E-05, - "rotY": 180.0, - "rotZ": 180.000046, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Daisy Walker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707154723/4CEE958BF7444019B4C4AC3186006C76C4314545/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707152339/6A5CB834C2F0D64D0932908D87BD789D695DED00/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e876b4", - "Name": "Custom_Tile", - "Transform": { - "posX": 5.773, - "posY": 3.032, - "posZ": -0.521, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 2.0, - "scaleX": 0.57, - "scaleY": 1.0, - "scaleZ": 0.57 - }, - "Nickname": "Roland Banks", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707184473/85338D56A64A03F43794AB8EF5F3A5763AE140B1/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230707105818/DFA0311033860DD6A8E14C0A40B4BD71F2B06697/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "1ca5e3", - "Name": "Custom_Tile", - "Transform": { - "posX": 4.39903641, - "posY": 0.960003, - "posZ": -7.088509, - "rotX": -1.44364685E-05, - "rotY": 180.000015, - "rotZ": -1.90262035E-05, - "scaleX": 0.5657107, - "scaleY": 1.0, - "scaleZ": 0.5657107 - }, - "Nickname": "Roland Banks", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698230707104892/3E08D3A6B8BE778339739AF6AE2D2E70A8D2877A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698230706030974/1E4B02FA9FF5641454726CD0253815C27811BCAE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - } - ] - }, - { - "GUID": "74d499", - "Name": "Bag", - "Transform": { - "posX": -1.249, - "posY": 1.987, - "posZ": 1.393, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stands", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.12265, - "b": 0.70196 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "5b8959", - "Name": "Bag", - "Transform": { - "posX": 16.487, - "posY": 1.786, - "posZ": -16.111, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alternatives", - "Description": "Alternate Versions of Various Investigators", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "62c3f3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 11.352, - "posY": 3.569, - "posZ": -9.348, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Lily Chen (Quadwield)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632852099/C6688E9A7DCB0639E5EA9A94A933117BE3D91406/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632852164/122AAC50A71B7D18F294A9BD89CD7ADCD4137BEC/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.04929137, - "posY": 1.05605388, - "posZ": -6.07517147, - "rotX": -1.28731717E-05, - "rotY": -0.00369770988, - "rotZ": -7.737283E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584649, - "g": 0.0, - "b": 0.3292681 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632852747/E5EE8542C7B2AF711792A707E05B4E897FF91A74/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632852799/B987558D827908D8E682E56B4E375FB80114B4C9/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "dc366b", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.939, - "posY": 3.14, - "posZ": -6.599, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 359.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351027111/EC77E0839D2BF35011E726F6B056C604B1BC0957/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351027159/2DBB796009E69901F3C1D1B8473BB3672936A415/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.53544873, - "posY": 1.056051, - "posZ": 1.079134, - "rotX": -1.3576212E-05, - "rotY": 180.007568, - "rotZ": 2.72131547E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961648, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351206096/3EBB1E7FBDB4A0E73B5EDC9270115DC7BD37BCDE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351206144/BF48660D48BA4D7E209EB1C77314516200863872/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8d2a57", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.34, - "posY": 3.123, - "posZ": -6.589, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Sister \"of Battle\" Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534350341026/33A1107FCBE63B79954F6233949CCD92075E8168/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534350346256/CC27F5FD13BD3C0EE00298D3448F2132B07D2F59/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.85660493, - "posY": 1.05605114, - "posZ": 1.132718, - "rotX": -4.78298753E-05, - "rotY": 359.982635, - "rotZ": -3.08779613E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Sister \"of Battle\" Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.3257833 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351222568/AA5B1E986CA44C9A16A52D159FB81F2C1C9A3FCF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351206055/6177641413E66D4DC5088B9FAC86C421999A50D9/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "66a610", - "Name": "Figurine_Custom", - "Transform": { - "posX": 3.186, - "posY": 3.123, - "posZ": -6.705, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351095787/538D7D90695B47562A96E19B4F47482429CF6EBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351095851/70F53C72CA6DE8070E52CA366CBB7B80264BF5B6/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.66877067, - "posY": 1.05605078, - "posZ": 1.01610041, - "rotX": 2.00246959E-05, - "rotY": 0.152080789, - "rotZ": 1.06987563E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329268, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351205842/2D2DF3A1166FB07C46B4265CC67AC3B49381FB6F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351205900/3CD8AF69B384FB0B45BDDBC6C87748DA201D7C19/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bc2b80", - "Name": "Figurine_Custom", - "Transform": { - "posX": 14.134, - "posY": 2.868, - "posZ": 2.761, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "Duke has been Sacrificed", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351080066/13060798A5F3A894615E557FD8BBA2D687F3B8A2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351080114/4D8203AF383B01CB7B302EFF49FC629C5AA11146/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "a079d2", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.6126439, - "posY": 1.0560509, - "posZ": 1.097108, - "rotX": -6.30444856E-06, - "rotY": 359.845673, - "rotZ": 1.82276153E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329268, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1786217534351205658/F4C9CEA767EB7EBFFA249DDEBA9961534C4FD0F9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1786217534351205737/06E479385625E40513318FA7B65A3BB43B6C51CE/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "84b0e7", - "Name": "Figurine_Custom", - "Transform": { - "posX": 7.535, - "posY": 3.13, - "posZ": 1.318, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Norman Withers", - "Description": "Novella", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124438/5F3C01090BFF6D46E19F15A41359A7F8AFC809AF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124480/072CCD17AAD9F44762EFB20DA674642F5D66958C/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5332e1", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.451320738, - "posY": 1.02681971, - "posZ": 4.430932, - "rotX": -6.245089E-05, - "rotY": -0.00515922671, - "rotZ": -7.256795E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Norman Withers", - "Description": "Novella", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961678, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112089/1C1F3DC7EC4D5A03C8A5991D1940DD873521B063/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112131/81797D3C3350D506C21AFE126DEEECC4EDDC574F/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "ffb761", - "Name": "Bag", - "Transform": { - "posX": 6.274, - "posY": 1.786, - "posZ": -11.9, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Barkham Investigators", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "0a4876", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.09, - "posY": 3.134, - "posZ": -5.438, - "rotX": 1.0, - "rotY": 0.0, - "rotZ": 359.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122453/D6DAFCA7AA289916A6EAAF69E0B08D4B55D57E17/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122497/B3DB3D61DCE74E7076DDA6AB6B3FF7DBC6CA5A87/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.16754961, - "posY": 1.02681947, - "posZ": 10.9790955, - "rotX": -7.267226E-06, - "rotY": 30.0019035, - "rotZ": -2.07458615E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267859, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110177/D5B45888598DE6C803A741BDB2285BEEC1089001/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110221/4D271515C4BDE28EE6ACAB84479097C6B872F3A1/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "370dc2", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.241, - "posY": 3.14, - "posZ": -5.542, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 359.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Jacqueline Canine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122972/496A614B7D0455E6E1FE7FEB4DFF8C6A6A748C98/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123015/87E6EBB0756C3E964B6F238DA3E6BBD99881EFCD/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.624458, - "posY": 1.02681983, - "posZ": 6.08223963, - "rotX": -7.169856E-05, - "rotY": -0.00505916635, - "rotZ": -9.209767E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Jacqueline Canine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584351, - "g": 0.0, - "b": 0.3292678 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110669/A0661C0A60E2112B2AACD1C24396BDD40B89C300/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110712/9758DCD708860BB091FB1C11B77D4F8864DB45B0/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "b7c253", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.402, - "posY": 3.143, - "posZ": -5.519, - "rotX": 0.0, - "rotY": 181.0, - "rotZ": 359.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "\"Skids\" O'Droole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124527/8BD07B46684E9D56DBA93454BD516F41313D46C9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124568/678199B54EDC3EF4494A91B1C2178A180213A7BE/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.129614055, - "posY": 1.02681983, - "posZ": 6.08450127, - "rotX": -6.65585E-05, - "rotY": -0.004955965, - "rotZ": -9.775421E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "\"Skids\" O'Droole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509361, - "g": 0.210800737, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112175/10140B73067B90C02617F05014D138D39E76E9B4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112225/1548F58B35A11B751C99FF7D2CA936642BAE301F/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "b4eab6", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.477, - "posY": 3.11, - "posZ": -5.029, - "rotX": 2.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Kate Winthpup", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125883/E2B1FFEDE8317BD06F54857DFB745FC7A5672740/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125925/26224E51EFC07F9A4359A2BEC39F1AE13A5D5029/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.8642114, - "posY": 1.02681983, - "posZ": 6.082245, - "rotX": -5.82093635E-05, - "rotY": -0.00490534632, - "rotZ": -7.865141E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Kate Winthpup", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961738, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113660/4DAA98F00C8E46A7A3F4DFA1B9422201EB7C64CC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113695/336E479B2D4CFBB13BCF6727A02ABD9213EAB8F5/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "c971c3", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.561, - "posY": 3.141, - "posZ": -5.615, - "rotX": 359.0, - "rotY": 90.0, - "rotZ": 1.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Bark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343121985/B74860D47613A5F110FD86E2D760C660C560347C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122033/EA0943FD858FD7EF1188ED6363B997D9CFB7F6E4/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.6265018, - "posY": 1.02682006, - "posZ": 6.088344, - "rotX": -6.72340248E-05, - "rotY": -0.005086284, - "rotZ": -8.665504E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Bark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.3257835 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343109705/5CBC385554F9CD0389E2A07743EECD5D35409198/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343109744/C48F56B459C4D7DA169C75B638C88096C7B0D142/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "36c3f5", - "Name": "Bag", - "Transform": { - "posX": 4.145, - "posY": 3.239, - "posZ": -16.331, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Circle Undone Prologue Investigators", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "45d884", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.943, - "posY": 3.136, - "posZ": -9.118, - "rotX": 1.0, - "rotY": 255.0, - "rotZ": 359.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Penny White", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124689/3BD7F394964F51DE2342BB163110083CA9389E0A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124733/E87E89DE233547010A2303714F65A67CE1599169/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b05799", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.21406651, - "posY": 1.02681863, - "posZ": 7.840794, - "rotX": 0.000108280154, - "rotY": 29.945343, - "rotZ": 6.30313662E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Penny White", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020624, - "g": 0.162020624, - "b": 0.162020624 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112380/E232D3010841C5E757778F8F6D032863DAB2FC9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112424/E2171B84B8D68AC259E83DB8AF0D8315DED7D34A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "2b5c11", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.456, - "posY": 3.14, - "posZ": -9.586, - "rotX": 359.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Valentino Rivas", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125669/07A11B3AA9B849680D17A3ACA41C374F29EEB2DF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125728/A01F2688903AF1F172EA8F6E35C197BF080CA3FD/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5aa59a", - "Name": "Figurine_Custom", - "Transform": { - "posX": 4.266295, - "posY": 1.02681923, - "posZ": 9.360523, - "rotX": -6.0371538E-05, - "rotY": -0.004860382, - "rotZ": -7.93984E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Valentino Rivas", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020653, - "g": 0.162020653, - "b": 0.162020653 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113479/EA4B290E0CCFB030C9D1B50061A95B1D2A975E88/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113519/BADB45B19BB567E328DDEAB0B58B978946B6936B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "4eebfc", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.766, - "posY": 3.116, - "posZ": -9.727, - "rotX": 357.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Jerome Davids", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123311/601F1BAC6250D2BE1D2D8C635246778D098FF1C6/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123355/7A11BAC58DD612E7158C8842C8AFE0BF3D8C90FB/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "a44908", - "Name": "Figurine_Custom", - "Transform": { - "posX": 3.505696, - "posY": 1.02681923, - "posZ": 9.364632, - "rotX": 1.94205968E-05, - "rotY": -0.00489224726, - "rotZ": -8.50184756E-10, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Jerome Davids", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020624, - "g": 0.162020624, - "b": 0.162020624 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110959/47D5246EE230991A1352CE0743B10168A9ECB586/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111005/348A8E2F0446D09998C1D72E999C9ED25D992433/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "58e76c", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.245, - "posY": 2.94, - "posZ": -8.384, - "rotX": 1.0, - "rotY": 359.0, - "rotZ": 1.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Gavriella Mizrah", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122636/CCA770E23817DB041A752079D020341C3392A9B0/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122673/7A6A0F30F2D7CF2F8F33548DE0EF94D4443F2952/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "05484e", - "Name": "Figurine_Custom", - "Transform": { - "posX": 2.74845767, - "posY": 1.02681923, - "posZ": 9.401479, - "rotX": 5.19274545E-06, - "rotY": -0.004959853, - "rotZ": 1.14189979E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Gabriella Mizrah", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020653, - "g": 0.162020653, - "b": 0.162020653 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110365/607CFC0994A129AC8452F0A6FD2BE17609E73573/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110415/1F049FB52103B0A63A68EAD64AA4942C290440B9/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "228120", - "Name": "Bag", - "Transform": { - "posX": 4.849, - "posY": 3.273, - "posZ": -16.44, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The City of Archives (SPOILERS)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.70588, - "g": 0.36652, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "458fc8", - "Name": "Figurine_Custom", - "Transform": { - "posX": 16.12, - "posY": 2.462, - "posZ": -5.572, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125963/C651F00D5A3DEEA70C450B496E271C6708710BE8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126008/5F98DD009140C4BD39E4461593131568BC871913/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "45eb73", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.66814137, - "posY": 1.02681983, - "posZ": 10.2142458, - "rotX": 7.342901E-05, - "rotY": 359.9585, - "rotZ": 0.000199222835, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020653, - "g": 0.162020653, - "b": 0.162020653 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113735/A56ABCAA1194E052A0A976A7CF57CCD1D95BA5A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113771/369BEF14B41868A935F9AE48A36B6A31B3C84112/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d4d93e", - "Name": "Figurine_Custom", - "Transform": { - "posX": 14.362, - "posY": 2.737, - "posZ": -7.039, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125963/C651F00D5A3DEEA70C450B496E271C6708710BE8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126008/5F98DD009140C4BD39E4461593131568BC871913/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 4.922006, - "posY": 1.02681768, - "posZ": 10.2471294, - "rotX": 8.77302737E-05, - "rotY": 359.958527, - "rotZ": 7.899584E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267949, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113735/A56ABCAA1194E052A0A976A7CF57CCD1D95BA5A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113771/369BEF14B41868A935F9AE48A36B6A31B3C84112/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "2574ee", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.735, - "posY": 3.142, - "posZ": -6.967, - "rotX": 0.0, - "rotY": 135.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125963/C651F00D5A3DEEA70C450B496E271C6708710BE8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126008/5F98DD009140C4BD39E4461593131568BC871913/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 4.181207, - "posY": 1.02682018, - "posZ": 10.2294979, - "rotX": 3.72182342E-07, - "rotY": 359.958557, - "rotZ": 3.20151662E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17058447, - "g": 0.0, - "b": 0.329267919 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113735/A56ABCAA1194E052A0A976A7CF57CCD1D95BA5A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113771/369BEF14B41868A935F9AE48A36B6A31B3C84112/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "531452", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.649, - "posY": 3.142, - "posZ": -6.911, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125963/C651F00D5A3DEEA70C450B496E271C6708710BE8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126008/5F98DD009140C4BD39E4461593131568BC871913/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": 3.427137, - "posY": 1.02682054, - "posZ": 10.2317638, - "rotX": -7.23652E-05, - "rotY": 359.958527, - "rotZ": -9.052689E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0850936845, - "g": 0.210800856, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113735/A56ABCAA1194E052A0A976A7CF57CCD1D95BA5A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113771/369BEF14B41868A935F9AE48A36B6A31B3C84112/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "21dca1", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.917, - "posY": 3.137, - "posZ": -7.03, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 1.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125963/C651F00D5A3DEEA70C450B496E271C6708710BE8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126008/5F98DD009140C4BD39E4461593131568BC871913/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": 2.6925416, - "posY": 1.02682018, - "posZ": 10.2295065, - "rotX": -5.95574675E-05, - "rotY": 359.9584, - "rotZ": -9.432038E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.2519618, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113735/A56ABCAA1194E052A0A976A7CF57CCD1D95BA5A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113771/369BEF14B41868A935F9AE48A36B6A31B3C84112/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "01d035", - "Name": "Figurine_Custom", - "Transform": { - "posX": -3.192, - "posY": 3.105, - "posZ": -6.389, - "rotX": 1.0, - "rotY": 0.0, - "rotZ": 1.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125963/C651F00D5A3DEEA70C450B496E271C6708710BE8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126008/5F98DD009140C4BD39E4461593131568BC871913/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.91376317, - "posY": 1.02681971, - "posZ": 10.2119522, - "rotX": 0.00028008892, - "rotY": 359.958527, - "rotZ": 0.0002694775, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Body of a Yithian", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783521 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113735/A56ABCAA1194E052A0A976A7CF57CCD1D95BA5A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113771/369BEF14B41868A935F9AE48A36B6A31B3C84112/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - }, - { - "GUID": "596da1", - "Name": "Figurine_Custom", - "Transform": { - "posX": 9.138, - "posY": 2.224, - "posZ": -10.16, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Gloria Goldberg", - "Description": "Novella", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122725/89A2F73B69E58215A310CCB38DD6C4CFC335D072/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343369844/741F46B92FA73AFDB7BBC76C10CC3E5ABD31D4CB/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "2919ee", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.93999064, - "posY": 1.02681971, - "posZ": 4.430925, - "rotX": -6.585491E-05, - "rotY": -0.005149761, - "rotZ": -7.726023E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Gloria Goldberg", - "Description": "Novella", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584351, - "g": 0.0, - "b": 0.3292678 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110452/64B813104A1823E356C86EE768B4C207D41F159F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343370892/71C122A8117FFF40D9874C42BCD6D0F8B8B7892D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d5f368", - "Name": "Figurine_Custom", - "Transform": { - "posX": 16.571, - "posY": 2.109, - "posZ": -14.587, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.83, - "scaleY": 0.83, - "scaleZ": 0.83 - }, - "Nickname": "Summoned Servitor", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632829647/900F45FD95C2893461BCAA1572DE0E7EA16ABE19/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632829693/2DA5CDF37EAB1E351A88995270B9A313DAEA59CE/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.92249012, - "posY": 1.09781313, - "posZ": -2.00294733, - "rotX": -1.88514023E-05, - "rotY": 0.00833301, - "rotZ": -4.36505143E-05, - "scaleX": 0.8250001, - "scaleY": 0.8250001, - "scaleZ": 0.8250001 - }, - "Nickname": "Summoned Servitor", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584679, - "g": 0.0, - "b": 0.329268128 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632829036/6D4D65B59894195F8047FA6F37F7379A67CDD4E4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632829093/FBA3DF6AD2DF21A559274FB770ADB98A0368EE0D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "409e5c", - "Name": "Figurine_Custom", - "Transform": { - "posX": 13.213, - "posY": 2.067, - "posZ": -14.178, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Charlie Kane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1814399894374997017/BC85365BA8B6FD488A31D0453F5B589E9FBB33A3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1814399894374997063/8267261868DBD6C630FAD36CE43AC9F594A23328/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.88261676, - "posY": 1.05605388, - "posZ": -7.99951649, - "rotX": 0.000172622473, - "rotY": 0.04173309, - "rotZ": -0.000115265633, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Charlie Kane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020534, - "g": 0.162020534, - "b": 0.162020534 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1814399894375044875/74403D42281F3B6F52977E2A78B3429284D14162/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1814399894375044931/1F649E841492469182395800CD8522A7A8F688DF/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "821043", - "Name": "Figurine_Custom", - "Transform": { - "posX": 23.71, - "posY": 2.067, - "posZ": -11.306, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Darrell Simmons", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632805644/FA91A9D835F60BCCAD90EE43F432EEFCB812F1BE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632805684/E19E42FA0F5C66C9AE0C531B8502F0856EA77CB4/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "6b2246", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.66304708, - "posY": 1.05605173, - "posZ": -3.49813342, - "rotX": -8.87667E-05, - "rotY": 0.0107405549, - "rotZ": -1.18543749E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Darrell Simmons", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329268128, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632806149/6DE55CD4B35E67EDD1EA12561615C29D7528C1EC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632806197/159CC606BB4D245E2432664D0C7BB86D7B3180E5/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "347366", - "Name": "Figurine_Custom", - "Transform": { - "posX": 19.26, - "posY": 2.067, - "posZ": -15.304, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Amina Zidane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632804057/78FE712C27FC15638C93ED390EA244DC24AD9D80/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632804138/3C7683C5652FF748E998DA47244ECD565E47A9F0/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c8a797", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.91043854, - "posY": 1.05605221, - "posZ": -3.427179, - "rotX": -0.000122606551, - "rotY": 359.8301, - "rotZ": -1.3014E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Amina Zidane", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584679, - "g": 0.0, - "b": 0.329268128 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632804852/FC13F19097AB6B8CFF69D41F181DF5FE3B171487/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632804895/36BF0E4DF393735062A1097E8B5DEF0CBFF7FE50/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f90c73", - "Name": "Figurine_Custom", - "Transform": { - "posX": 16.442, - "posY": 2.067, - "posZ": -15.188, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Kymani Jones", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632712125/4C9C8B7E2D826AC3F667B25886A10E4E7C404D36/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632728920/BB862271FE472CB9A059930312C7E02014C926AA/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "d72b4f", - "Name": "Figurine_Custom", - "Transform": { - "posX": -4.205485, - "posY": 1.05605233, - "posZ": -3.2741313, - "rotX": -9.738026E-05, - "rotY": -0.00172003009, - "rotZ": -0.00011472436, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Kymani Jones", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509395, - "g": 0.210801154, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632729866/6CAF10394017D1E413216A18C7AFB68E4BE4A22E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632729904/030745C06892D3AE331E9B047F6202B3A834B89D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bc327b", - "Name": "Figurine_Custom", - "Transform": { - "posX": 13.056, - "posY": 2.067, - "posZ": -14.739, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Vincent Lee", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632778350/325286731544DD374EE07847A9446D2BC94EF1B9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632778413/67439F129504FB1AA3A5D888DC4719FEBAF9892C/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -5.556041, - "posY": 1.05605245, - "posZ": -3.136945, - "rotX": -0.000110429712, - "rotY": 0.00694853, - "rotZ": -0.000125191262, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Vincent Lee", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251962036, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632803055/AF8D8F383F92D298133EBA09A34753744E4EF548/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632803119/29423101B686F98DA4B7493746360CD42D3CE5C0/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "9b83f7", - "Name": "Figurine_Custom", - "Transform": { - "posX": 24.417, - "posY": 2.067, - "posZ": -10.598, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Carson Sinclair", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815627803889/F70AAF20DE0C636E8188C8ED3567D152BFE34FEF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815627804095/14FB266940C7F4FA6C89D27D778171D8DC132E4B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -7.154865, - "posY": 1.05605257, - "posZ": -3.15310764, - "rotX": -0.000124932936, - "rotY": 0.109544486, - "rotZ": -0.000132667308, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Carson Sinclair", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.32578373 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1840305815632822371/481BF5F70A061B239975FA608D6FD6BFEE26D87D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1840305815632822423/C4763118F4519CF03FB07EEC9E8D181987D818CF/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7ce9d9", - "Name": "Figurine_Custom", - "Transform": { - "posX": 9.343, - "posY": 2.067, - "posZ": -6.363, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Bob Jenkins", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127498888/52A7D63128EF8CCABABCCAC25D7A161FDC87AC00/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127498935/83C60889FF4E253896F9877AA5D695B65DE9A41D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.0395640954, - "posY": 1.056051, - "posZ": 2.101576, - "rotX": 1.02862041E-05, - "rotY": 21.3411922, - "rotZ": 4.41833763E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Bob Jenkins", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329268217, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127498690/7767353FD52F7E52E135E1998911A5AA910FE5B1/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127498806/179CA133C12F46DEC40C21BDED8E51EBC441912D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f58123", - "Name": "Figurine_Custom", - "Transform": { - "posX": 11.535, - "posY": 2.067, - "posZ": -2.921, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127487680/802D3885209166F8C3A68A2BC4E5F1B5DF9DE53B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127487724/EA02F95CE17F58859603E9C3342085FFBE7E0420/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.897596955, - "posY": 1.056051, - "posZ": 2.064113, - "rotX": -2.04453227E-05, - "rotY": 23.9014645, - "rotZ": -1.59633655E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584738, - "g": 0.0, - "b": 0.3292682 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127487506/08986629775B03EF635165A59EAEC2FD21BFBD74/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127487606/CCEB12CA653DEB53372368FC4E28FD57A87418BD/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "638f3a", - "Name": "Figurine_Custom", - "Transform": { - "posX": 3.857, - "posY": 2.067, - "posZ": -7.872, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Monterey Jack", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127476746/94BE1CD298C8605CEE92CA2E8B0405C206EFCDB4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127476794/837B28F92D4D63B23EF69D5A327A76928DC814A7/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.73105574, - "posY": 1.05605125, - "posZ": 2.08124447, - "rotX": -2.62166122E-06, - "rotY": 23.363678, - "rotZ": -6.426918E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Monterey Jack", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509401, - "g": 0.210801244, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127476598/64CD439C4B27AF54285ECE0BABDB93C2634E5255/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127476683/6C480D8E9E8D03B8CA8154285EDE42312D1FE37B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8d186c", - "Name": "Figurine_Custom", - "Transform": { - "posX": 12.732, - "posY": 2.678, - "posZ": -5.012, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127435972/2096012C595D1FA26F1D91FC84266EA87FD44C5E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127436051/77E8D22FE4EDE5A94D1CBA705DA40BEB45A1E771/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.60013986, - "posY": 1.05605114, - "posZ": 2.02835059, - "rotX": -1.22742522E-05, - "rotY": 25.2844887, - "rotZ": 1.37622574E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961946, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127449099/5836DD6175D977C38D7A24FEAA4A45892F99479B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127449192/81C48A558BC836CC34ADD31B438468E448CE81C1/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "812e07", - "Name": "Figurine_Custom", - "Transform": { - "posX": 10.168, - "posY": 2.067, - "posZ": -5.196, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Daniela Reyes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127372136/F93D4DA4D1F8449BCFA91E53342BA39B3FCE54E7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127372542/9DFD7E7891356D43184E9D1D80532C00E6C2C8C4/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -3.57336688, - "posY": 1.056051, - "posZ": 2.11468887, - "rotX": 3.48761364E-06, - "rotY": 14.9798584, - "rotZ": 4.53148641E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Daniella Reyes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783819 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1696157607127384593/FA4F02D9F246B22593B426584366C312B382A888/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1696157607127384635/76BAC5BCC1AFB3749426C325F6C3D485C7938E50/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "abd4b9", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.789, - "posY": 2.067, - "posZ": -10.241, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Stella Clark", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125217/B965FA4A228DFD62F5D202E4A6DDBFBAFA1C830D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125258/BF68ACA30835D3152A03255FFE394BD1D844A5ED/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.27848661, - "posY": 1.02682006, - "posZ": 7.187135, - "rotX": -2.30956311E-06, - "rotY": 0.00765810627, - "rotZ": -1.91616482E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Stella Clarke", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267859, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112969/8EF9EA86807895AC74C4B2D39C3AE171ED85E94B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113025/1272B28219E43CD1BCC990A1883B808A5CA59B1D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "755af5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 4.768, - "posY": 2.067, - "posZ": -9.959, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Jacqueline Fine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123061/6DA4E0C0B84DED83550ED40969143A242525FEFF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343340459/F0D2B8064964B8252241DB136C794FC1B6FF4B53/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.5499153, - "posY": 1.0268203, - "posZ": 7.169164, - "rotX": -8.734602E-05, - "rotY": 0.00341988052, - "rotZ": -0.000114085895, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Jacqueline Fine", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584291, - "g": 0.0, - "b": 0.3292677 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110754/30A40B1E167B52D90D19922ADF83CBCF1C700638/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343339400/E453D38E8FE432F95339B60B4547A59EF8C6BA24/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "2ede96", - "Name": "Figurine_Custom", - "Transform": { - "posX": 10.124, - "posY": 2.112, - "posZ": -7.966, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Winifred Habbamock", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125782/BCC613AFBA7B0DA1250A17504464AAD6B2BAB528/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125837/45463C0CFEC0E75C4CB0817760252B81E46D4249/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.216387287, - "posY": 1.02682042, - "posZ": 7.17177439, - "rotX": -8.43822854E-05, - "rotY": 0.007669506, - "rotZ": -0.00011174324, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Winifred Habbamock", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509361, - "g": 0.210800737, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113571/5531EC31A19AD8DCAD380DA9471B3224001E4E04/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113609/433D67A5C68762077EF84A2BEFF3B251EC84C39E/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "a0293e", - "Name": "Figurine_Custom", - "Transform": { - "posX": 9.054, - "posY": 2.067, - "posZ": -8.127, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Harvey Walters", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122863/EB70BA317BF67FCF51083EBC0D8C357FF19EAB1B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122928/D4FBD31E1D7FBEEB07939D3DCCB1667E4D1ACA14/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.9509883, - "posY": 1.02682018, - "posZ": 7.169526, - "rotX": -8.89513249E-05, - "rotY": 0.00762059959, - "rotZ": -9.840328E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Harvey Walters", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961648, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110588/754FAC695ACFD404B80954EA68E223E454E212D8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110630/EBF1D33617A617E04FBD4AE37506F77867222D6C/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "619a54", - "Name": "Figurine_Custom", - "Transform": { - "posX": 7.437, - "posY": 2.067, - "posZ": -7.523, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Nathaniel Cho", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124346/CF535E2C85E5F4D1400A96DB7BEDC7DCFC7591C1/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124386/09CAB97763D97EFC37A1A558CEC032EEB8142754/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.713281, - "posY": 1.02682006, - "posZ": 7.175626, - "rotX": -1.1563644E-05, - "rotY": 0.00344528654, - "rotZ": 6.189511E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Nathaniel Cho", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.3257834 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111987/455AD3904C7CBD6CB4AC917973B766BFACC429DB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112047/FB45F4E6B30D69A196C585501C4E75B435677A01/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "080f71", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.718, - "posY": 2.067, - "posZ": -7.328, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Silas Marsh", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125169/A6DCCBFE8E038499BBDBC3E646EA176F47D2BB4C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125121/418C6AC1E5031B49969BD78AE05247AF806FEF1A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.26874578, - "posY": 1.02682, - "posZ": 7.98725033, - "rotX": -9.505729E-05, - "rotY": 359.9731, - "rotZ": -0.00012580266, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Silas Marsh", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267859, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112916/0BC1B2CB47C8B5814D1EF29AEF132D972F61B509/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112871/8EDFE0718C49CAE4155F3832571CCA7202D6479A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "6dbc60", - "Name": "Figurine_Custom", - "Transform": { - "posX": 12.743, - "posY": 2.735, - "posZ": -4.874, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Dexter Drake", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122282/12781D255D67BE8DC5D7DC0319C69B25FE6FE0FB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122330/B1CA265DC32559781219981BF4F385D423CA0702/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.527940869, - "posY": 1.02682, - "posZ": 7.969628, - "rotX": -8.174957E-05, - "rotY": 359.973175, - "rotZ": -0.000110224384, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Dexter Drake", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584351, - "g": 0.0, - "b": 0.3292678 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343109980/118F2314AFF798868F18CC252405A87BD978A967/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110029/BA54F4CD9A3A11718873A2526C95E5846D8709DC/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "01631f", - "Name": "Figurine_Custom", - "Transform": { - "posX": 10.923, - "posY": 2.067, - "posZ": -4.616, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Trish Scarborough", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125485/4E1E451CA47B9A6C4FA602597948FD6EBC4BE776/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125535/2F16BFC124F43F9940C2A3F171E26DDA6463A212/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.238272026, - "posY": 1.02681971, - "posZ": 7.97210073, - "rotX": -8.332766E-05, - "rotY": 359.9732, - "rotZ": -0.0001203627, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Trish Scarborough", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509361, - "g": 0.210800737, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113269/8A30699B302BAF982C8FE26E09705CDFF5242C2C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113340/C747576C358B25CEA21F2C6BBC99E958B054C988/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ef4a8b", - "Name": "Figurine_Custom", - "Transform": { - "posX": 9.084, - "posY": 2.067, - "posZ": -4.571, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Amanda Sharpe", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343121778/B9E73495E82666A9087D80DF78DF610AB0CEA287/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343121817/321366F4FBE2B24C8D692FDBF493A6D1B630D8A7/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.960734367, - "posY": 1.02682018, - "posZ": 7.96963739, - "rotX": -8.332174E-05, - "rotY": 359.973175, - "rotZ": -0.000118014796, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Amanda Sharpe", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961678, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343109504/E045893755B64DC1954A3EA2AB34212F56D195DC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343109555/08705215BB0218B22B2D2FBF3D870FE043CBF9DE/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "707374", - "Name": "Figurine_Custom", - "Transform": { - "posX": 17.971, - "posY": 2.067, - "posZ": -3.934, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Sister Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124088/F02DA60FB218E7DBC8EAE29556A4CAD9EC47657D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124131/B28E44DBC3463F011BF01FCD6F2E88CD43057352/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.72302723, - "posY": 1.02682018, - "posZ": 7.975754, - "rotX": -1.0495859E-05, - "rotY": 359.973053, - "rotZ": 2.777137E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Sister Mary", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783432 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111744/D91E9AF17853E7AC5E4C32C098F6E60E4E3B2693/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111792/58A855A135BF1CB9CC76C2C8282D75F27EDAA53B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "ef94b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 9.221, - "posY": 2.108, - "posZ": -9.515, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Patrice Hathaway", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124612/064FA25C5A7EC3F7A7752FF362462E26C3045BAD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124652/C352844E8CE07642B8F0D34FD4CC46FD163099BF/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.28675163, - "posY": 1.02682006, - "posZ": 8.563183, - "rotX": -1.78168229E-05, - "rotY": 0.09771161, - "rotZ": -1.5089422E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Patrice Hathaway", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267859, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112272/1BAC1C83A3683725B46BAF4BD60184BA52BFB6E8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112332/4D2A00300C1A749C808CD8391F3E681038EDAFDB/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "a908ec", - "Name": "Figurine_Custom", - "Transform": { - "posX": 7.614, - "posY": 2.067, - "posZ": -9.75, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Luke Robinson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123743/7FFD073A2FE1B6346E43939B2C30CC485D4773E9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123788/B66846378167F716F4EC90D96FF72354A46B7B4D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.545947134, - "posY": 1.02682018, - "posZ": 8.54556751, - "rotX": -9.203844E-05, - "rotY": 0.09762085, - "rotZ": -0.000135061448, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Luke Robinson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584321, - "g": 0.0, - "b": 0.32926777 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111373/B5CF244E06B8E75CB81575C3E460E11388C3BE15/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111421/31C173F4DC2F80612AC7B8A56E9ABD5581EEFFFB/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8788d0", - "Name": "Figurine_Custom", - "Transform": { - "posX": 6.206, - "posY": 2.067, - "posZ": -9.638, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Tony Morgan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125399/E8846343EE7FB81463CBA96EE1FB4EA48783478D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125442/09C00F6166ED8C161E8B4EDC8D6C5712BE4E5A99/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.208120644, - "posY": 1.02682, - "posZ": 8.547819, - "rotX": -5.45394323E-06, - "rotY": 0.09764598, - "rotZ": -2.77906065E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Tony Morgan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509361, - "g": 0.210800737, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113164/306E90DAA180AD468A2984E850C930EE18CF2662/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113211/50B0632176C34F7C87676B08F33D1FD47B81F866/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "0d602e", - "Name": "Figurine_Custom", - "Transform": { - "posX": 4.73, - "posY": 2.067, - "posZ": -9.555, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Mandy Thompson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123832/EF70CBEF33BC038D502B78BA9A77AB07D581B30D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123877/541D16A7F8B1CD918142D5ED9481A0AD37271E7B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.9427243, - "posY": 1.02682018, - "posZ": 8.545574, - "rotX": -0.000108375389, - "rotY": 0.0977096856, - "rotZ": -0.000105106228, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Mandy Thompson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961678, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111464/EB5F444E471B86E0CFD56020F3DBC31FF73AECF6/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111511/9DE040757FEB58FB6F7E89805EDBCABA28C08363/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bea47e", - "Name": "Figurine_Custom", - "Transform": { - "posX": 10.5, - "posY": 2.114, - "posZ": -7.323, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Tommy Muldoon", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125301/A93BD669C731E917A35FA5738EB136BF6671D77D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125343/F146511CB6A21254B2C7350694A25207323BD032/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.70501757, - "posY": 1.02681828, - "posZ": 8.551668, - "rotX": 0.000446396472, - "rotY": 0.09762672, - "rotZ": 8.202271E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Tommy Muldoon", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783432 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113075/3A5F451FE5EEA0438A7BF83AA80087D508A95E63/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113125/C886BBE085401CBDEDC79316126DAD04C160290D/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "6bd52c", - "Name": "Figurine_Custom", - "Transform": { - "posX": 8.613, - "posY": 2.067, - "posZ": -7.518, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Marie Lambeau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123913/0FED2F578A1A3B0D7068AFA723C5BD86614D51AE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123948/0EE225E2455C4D60FC903AC34D5DCBE3A96E0F6E/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "00f638", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.99495029, - "posY": 1.02681935, - "posZ": 9.381206, - "rotX": -4.78800757E-06, - "rotY": -0.004909135, - "rotZ": 1.21728181E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Marie Lambeau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17058447, - "g": 0.0, - "b": 0.329267919 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111548/9D1687057358C422472126D059B5CAA1828E2DEA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111601/E3DB7C44A8A034D4BA7AACF2599A54DECC4C4D34/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "c46146", - "Name": "Figurine_Custom", - "Transform": { - "posX": 7.263, - "posY": 2.067, - "posZ": -7.433, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Rita Young", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124955/B83959B059ED90771F6550DF20D774B6AA7B088B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125001/48ACCE90A8C1A957EC54B0B411DFCCE5F96E1278/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.22370946, - "posY": 1.02681935, - "posZ": 9.402242, - "rotX": -7.423215E-05, - "rotY": -0.004866944, - "rotZ": -8.046501E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Rita Young", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267949, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112692/3353B6C8A7FBFBA7B834CCAF8983B69C054DF2CB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112745/522D275483FAF39565F28DDDBD405D585F0C23BD/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "2640ba", - "Name": "Figurine_Custom", - "Transform": { - "posX": 6.084, - "posY": 2.067, - "posZ": -7.082, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Diana Stanley", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122370/E81C333FD7195F674DEA2E36024F4788B51472AA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122410/6B2888110D0DEBD972B1AABC1493F262DB074311/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.4829111, - "posY": 1.02681768, - "posZ": 9.384614, - "rotX": 0.00032247862, - "rotY": -0.005024162, - "rotZ": 6.56196353E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Diana Stanley", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17058444, - "g": 0.0, - "b": 0.3292679 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110082/76D9557C29556247A925A3526A32EB896C0915C5/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110130/FBBAE9140E940B1875BB8141D84788EF5EA5E25C/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "6e99ba", - "Name": "Figurine_Custom", - "Transform": { - "posX": 12.619, - "posY": 2.258, - "posZ": -4.266, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Preston Fairmount", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124775/8093BCC3BB3D19C324B59EA46C83293B09B3C736/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124816/08D840B61C1E9CD93C1720AD66D780B1D7326D10/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.2711577, - "posY": 1.02681839, - "posZ": 9.386873, - "rotX": 0.000328625174, - "rotY": -0.004782497, - "rotZ": 0.000219832931, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Preston Fairmount", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0850936845, - "g": 0.210800856, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112489/897B3C993413B04F475D3AD95385262A0188945C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112537/AE38E517BE326158E67760C17DD7BDF24BDD6C12/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bc0aa2", - "Name": "Figurine_Custom", - "Transform": { - "posX": 11.571, - "posY": 2.067, - "posZ": -4.393, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Joe Diamond", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123488/AB5C5C45431B8CF33A784A09E265D60D4D0168CC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123531/ADE4594F7EACB7EE9E942D3477724E674AE1AADE/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.005756, - "posY": 1.02681589, - "posZ": 9.384623, - "rotX": 0.000161581018, - "rotY": -0.00500129443, - "rotZ": 0.00012048176, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Joe Diamond", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.2519618, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111123/FFF20A721CE1B8D3C49E32DBC0A7861229012FCE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111172/100EC490B6AC901F4AFC48F100829575055BEE86/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "99e9da", - "Name": "Figurine_Custom", - "Transform": { - "posX": 8.8, - "posY": 2.067, - "posZ": -4.619, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Carolyn Fern", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122187/0A3F1BFDDD7476762C6645E64A9CBDB74E0BE4BB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122241/ACA5D39ABF796E8BFEC57DB81EA70B8558194C3B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.76804483, - "posY": 1.02681708, - "posZ": 9.390722, - "rotX": -2.144888E-05, - "rotY": -0.004910287, - "rotZ": -5.0051578E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Carolyn Fern", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783551 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343109894/23141F07C9E777CCA48F96486D98A8D4DAD0447E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343109932/062A9610BF91F9E900D727CF4C278508341AD4E0/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "00a0b3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.844, - "posY": 2.067, - "posZ": -5.017, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Calvin Wright", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122092/7E86DE74F323125CF4C743A41D5C38CD7E5E6F80/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122138/C6DA1F44C07BF2315BEF34CE88BE2D37306D72B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "db5e16", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.19241536, - "posY": 1.026818, - "posZ": 10.2151451, - "rotX": 0.00043980364, - "rotY": -0.001790508, - "rotZ": 7.277957E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Calvin Wright", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329267949, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343109794/51E0C9D150A28AE12DBC44D081B33F8585CA252A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343109838/295776AE6C4195E36179BFD4DC840A85F9DC5E2A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "037a27", - "Name": "Figurine_Custom", - "Transform": { - "posX": 15.605, - "posY": 2.843, - "posZ": 0.227, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Father Mateo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343213115/923ED3CD7BAB52379528C97BA86565BC972937F2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343213159/D07849717C07B630C290BB7810B30108A652DC52/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.451427639, - "posY": 1.02681625, - "posZ": 10.1980467, - "rotX": 4.25053668E-06, - "rotY": -0.00196357, - "rotZ": -4.695836E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Father Mateo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17058444, - "g": 0.0, - "b": 0.3292679 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343213028/571662D666A8333EC73EA50FA1FC52121F182D33/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343213075/853E2B0B3A7ACD28E70E4DA3CD2347E714923AC3/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "259257", - "Name": "Figurine_Custom", - "Transform": { - "posX": 2.672, - "posY": 2.067, - "posZ": -7.577, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Finn Edwards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343122544/131B9D90BBADDD3576CD4F24E88B1A9EAA084B25/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343122592/94D7B9AA767123BF2B50B1E27FAC62242DC4C1B3/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -2.869375, - "posY": 1.05605507, - "posZ": -6.68307352, - "rotX": 2.060866E-05, - "rotY": 0.0192703716, - "rotZ": -7.155507E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Finn Edwards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509364, - "g": 0.210800767, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110275/E2025B1C14EE35E63D44BC3B5A2410B21C397D90/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110324/4B8B05471D1F5CC0FDD294EF20DB32F386D4E59E/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "556138", - "Name": "Figurine_Custom", - "Transform": { - "posX": 20.784, - "posY": 2.067, - "posZ": -0.276, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125580/D00CFB3B16884A01FA999E0DDD6B3CBC08E65AEA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125624/CBE958AE77C62FC1CC2DF6663226EADDA1500B5E/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.03705025, - "posY": 1.02681637, - "posZ": 10.1975241, - "rotX": -1.02660943E-06, - "rotY": -0.00209664949, - "rotZ": -1.99569458E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961768, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113388/3C14FD026614E265AF28D706E14EE28832B9900A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113425/FC55EAACC9980F12F2108FB677C8E4F98FDBC82F/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "68f47f", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.806, - "posY": 2.067, - "posZ": -7.253, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Leo Anderson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123575/9D875BB066BBC8711A4A5B1888E6F14453B937B8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123611/134B3903A912E19F89379A3CAFC11B690B0F1B6B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.79934168, - "posY": 1.02681637, - "posZ": 10.2036343, - "rotX": -2.56951953E-05, - "rotY": -0.002032134, - "rotZ": -5.30376055E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Leo Anderson", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783521 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111208/2C442A20E3C1D6C78115F52739C30026DEA42F78/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111248/605DA9FD3CAA488E2AF00196B4BE09173C7690F2/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "392b57", - "Name": "Figurine_Custom", - "Transform": { - "posX": 6.549, - "posY": 2.067, - "posZ": -0.995, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Lola Hayes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.59408, - "g": 0.59408, - "b": 0.59408 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1814399894375141491/FC32B68CBC5AD09DB7347FDD68F6B398FB52F84A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1814399894375141540/7C5FA11A32DB50D7C3288D7672AA72A753941813/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.93965089, - "posY": 1.05605161, - "posZ": -1.30115461, - "rotX": 7.33440538E-05, - "rotY": 359.8577, - "rotZ": 3.12846E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Lola Hayes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.162020475, - "g": 0.162020475, - "b": 0.162020475 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1814399894375156637/11194212FD04FF4B2AFAFB25AF915F288D768BEC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1814399894375156686/CF8D3AAA42F6F3879C9C79C9E78A696592FE57BD/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "26a0a1", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.985, - "posY": 2.067, - "posZ": -5.783, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "William Yorick", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343126049/63E0BC57F7E5141690FF1F50002837F2869FE3FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343126093/F7F02472038CC02E52533381E4D7AD7D31BB3FA8/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.21389389, - "posY": 1.02681673, - "posZ": 11.0401068, - "rotX": 1.66332375E-05, - "rotY": 359.9848, - "rotZ": 1.38512064E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "William Yorick", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329268, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343113810/78D2AA9C325055A8D4680125D29489A8B9B89461/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343113849/DCA3D076BFCA28D8A8638B6A4F638AA84101624E/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "073478", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.47, - "posY": 2.067, - "posZ": -5.728, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Akachi Onyele", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343160053/79D9A0D7E71BB628AD26366761558E96AACA93CC/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343160099/FCE303FB3866184962E30F7245071A06425095E2/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.472944528, - "posY": 1.02681673, - "posZ": 11.0225353, - "rotX": 1.02060794E-05, - "rotY": -0.0008168299, - "rotZ": -5.44288E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Akachi Onyele", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17058453, - "g": 0.0, - "b": 0.329267979 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343159910/4DFE2B07BE7E50D2EA69FFEB40624CF542B5E0DE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343159970/075B54C1767060DD9A1AD24DB57938CCFDDD6585/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "086503", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.353, - "posY": 2.067, - "posZ": -5.625, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Sefina Rousseau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343125039/358B5898D369D0DD9B43CA63A4D814DD523B46D4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343125078/A86918CF754A49F3634CE1906F06D2EF8050181C/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.2811205, - "posY": 1.02681625, - "posZ": 11.0247946, - "rotX": 1.56008318E-05, - "rotY": -0.000685103063, - "rotZ": -1.13126E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Sefina Rousseau", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0850937739, - "g": 0.210800946, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112788/E93E0A9A75FF8657A9E42C3AC93A236739E8B48E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112830/2D14AED1F1BA6A9FA28E7093A2E738876EA80A89/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "1ebf3c", - "Name": "Figurine_Custom", - "Transform": { - "posX": 3.898, - "posY": 2.067, - "posZ": -3.646, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Minh Thi Phan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124265/92345CAE764C3A809A9CA73F30AFF9406BC0EF5E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124306/A4481703DBC3C327CBE907E1149598283B7AB049/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.015713, - "posY": 1.02681613, - "posZ": 11.0225344, - "rotX": 8.437017E-06, - "rotY": -0.0006353474, - "rotZ": -2.9882583E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Minh Thi Phan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.2519619, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111913/23E26016E556988D267EDD8DEB4D76E4D6D38A7C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111950/D44CE23B259F5B04CD2B76F44DF2BED5D41F862E/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "eb793b", - "Name": "Figurine_Custom", - "Transform": { - "posX": 2.73, - "posY": 2.067, - "posZ": -3.996, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Mark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123987/395CFF93D01FE8D3E05BF0E18AF363C95F8C9870/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124038/5DB2BE15B15ECF1B8324CCB4EA57762A5F9503D7/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.77800012, - "posY": 1.02681637, - "posZ": 11.0286446, - "rotX": 5.44165632E-05, - "rotY": -0.0006005508, - "rotZ": 2.32658222E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Mark Harrigan", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.3257836 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111650/DC806BD08F8B210C3DBE0D3BE9C0A0E9819D8D54/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111695/C7C4A01A23F187ADD085F1FDFF51FAFB0295F22A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "78f659", - "Name": "Figurine_Custom", - "Transform": { - "posX": 21.191, - "posY": 2.067, - "posZ": -2.527, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343121862/DD3C4ACBC52C4FBD8C573B953ED0081B810FA878/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343121899/0330056F163A97214EBEDBDA800BF186EEC0B8B7/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.204208, - "posY": 1.02681661, - "posZ": 11.8004837, - "rotX": 8.295096E-06, - "rotY": -0.002050401, - "rotZ": -1.10992141E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.3292681, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343109608/01B9628C63EE04370742D354B11FC41708BB6C5A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343109656/54EBB31786FD3F4119F15B55B4FFAD9108FB9C61/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "4ed067", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.419, - "posY": 2.067, - "posZ": -3.644, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Jim Culver", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123404/7C7BBACF49827ED5D622033E6C1DEA9357096C7B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123446/B7327A472FBB4072DC477381E8A7A6125C99531F/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 0.463523775, - "posY": 1.02681673, - "posZ": 11.7824306, - "rotX": -3.54734016E-06, - "rotY": 0.00121953932, - "rotZ": -3.94873632E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Jim Culver", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.170584649, - "g": 0.0, - "b": 0.3292681 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343111046/87284B158274F1722C2161D9F9B30E214647B1BB/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343111086/FF3A031718F35B572D6C3C8C7BCCAB6C11D4BF33/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "4990c5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 5.699, - "posY": 2.067, - "posZ": -1.237, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Jenny Barnes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343123208/8C29DCE72C2A5DE4D7E6A79046CF24C3D74D8535/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343123260/B4FC280EE97A57E792694AC4EDAADD48E44519C9/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9ee7cf", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.290638775, - "posY": 1.02681673, - "posZ": 11.7851191, - "rotX": 1.27248541E-05, - "rotY": -0.0003152209, - "rotZ": -7.57728048E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Jenny Barnes", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509388, - "g": 0.2108011, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343110878/B9FEDC01D8D9AE1AAC6B02BE02B2750BF3DF54D6/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343110916/B7228A20C559122AB8D718C0AC201FED9E85B2DE/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "f96c49", - "Name": "Figurine_Custom", - "Transform": { - "posX": 4.395, - "posY": 2.067, - "posZ": -1.549, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Rex Murphy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343124866/20FAFD12A141BEDFA62FC7D2BBA10925863110C7/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343124908/94730221F433510D8906BBF22D7AC5F8FF979B7A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "871891", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.02522957, - "posY": 1.02681625, - "posZ": 11.78287, - "rotX": 1.1895655E-05, - "rotY": -0.0009831832, - "rotZ": -6.40340477E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Rex Murphy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251961976, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343112602/C78D725F74D849D4C81D09D1C9B808D1F192A6B8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343112648/D27F29716439A7BDBF1162AB92684C32E3A221FF/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e6d68f", - "Name": "Figurine_Custom", - "Transform": { - "posX": 3.422, - "posY": 2.067, - "posZ": -1.246, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Zoey Samaras", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343104943/9E4F82A799BEF14E1BEC498937F2EB3BB83F6ADE/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343104997/E66355B1514163DDC8E50927F54C6C07DE63EC00/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "50a1c5", - "Name": "Figurine_Custom", - "Transform": { - "posX": -1.78751993, - "posY": 1.026817, - "posZ": 11.7889805, - "rotX": 1.25525485E-05, - "rotY": 0.00384989637, - "rotZ": 6.301981E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Zoey Samaras", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.3257837 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400343107696/1E492CCA51ADB35F95FFF64ABBB61765E50B2B26/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400343107739/4F5A5EE5CF79DAF68B538EEF30DB8DACC10A3565/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "8f5e71", - "Name": "Figurine_Custom", - "Transform": { - "posX": 18.214, - "posY": 2.067, - "posZ": 20.422, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Wendy Adams", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.58711, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342898443/A3C543770A98A9D55B8BF1E51B2EE143A42AE1A2/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342898498/10F99CF16FEBE1CD39635ABFF90F805BF5D54918/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b848a3", - "Name": "Figurine_Custom", - "Transform": { - "posX": 2.99075246, - "posY": 1.05605435, - "posZ": -11.0904865, - "rotX": -1.12616681E-05, - "rotY": 0.0209468454, - "rotZ": -6.328795E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Wendy Adams", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.329268247, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342911659/B0D1767C1391FEAFC991695B614304A626FCEB2C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342911709/5143ADC17BEA16129B1533BE77EE79BF0BD347A5/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "881def", - "Name": "Figurine_Custom", - "Transform": { - "posX": 18.125, - "posY": 2.067, - "posZ": 17.111, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Agnes Baker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.33758, - "g": 0.0, - "b": 0.65331 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342898077/CB788C381652994294C25179935B1C9A43958EF9/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342898124/10924A4D4866357782DFB81FFB8D67C93F064F29/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c646b5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 1.41371632, - "posY": 1.05605292, - "posZ": -10.7802191, - "rotX": -1.42807457E-05, - "rotY": 359.978119, - "rotZ": 0.0001414089, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Agnes Baker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.1705848, - "g": 0.0, - "b": 0.329268247 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342911213/3C50F1305A311942B242F56F1DF8DB6333F02EC0/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342911264/8125422EA13893015B535ECA5730368BC422A508/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "47cbdc", - "Name": "Figurine_Custom", - "Transform": { - "posX": 18.043, - "posY": 2.067, - "posZ": 18.03, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.17436, - "g": 0.43031, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342898355/9F2A2046E154557C9D35BC392DA05BCF7A5D99BF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342898401/3200CDC30301B8A58B6CE31AE9BF06DF7BE59B46/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "c7119b", - "Name": "Figurine_Custom", - "Transform": { - "posX": -0.120323889, - "posY": 1.05605209, - "posZ": -10.5111914, - "rotX": 1.64129942E-05, - "rotY": 0.0260009225, - "rotZ": -2.237311E-06, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.08509406, - "g": 0.2108013, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342911559/E9A1944160938CAC731E6ECF4E86C8A43DE4BB9E/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342911607/D91CC56CCF47669B649D0AB61B12957FBB790C06/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7de2d5", - "Name": "Figurine_Custom", - "Transform": { - "posX": 17.642, - "posY": 2.067, - "posZ": 21.115, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Daisy Walker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.45725, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342898160/BD419A43A39F1AAE574C3ED1E6BDCA059662526B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342898199/50F1F2731EA74D362AFAD8157D040D2C28537FC4/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "376b04", - "Name": "Figurine_Custom", - "Transform": { - "posX": -4.413311, - "posY": 1.02681649, - "posZ": 12.1634035, - "rotX": 5.90366581E-05, - "rotY": 0.00331070554, - "rotZ": 3.21872079E-07, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Daisy Walker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.559233367, - "g": 0.251962155, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342911313/35AACEA1926713934B02DED9A74B78FFC3CE9883/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342911376/6F57094F6DE7748A2FECE162A8360433100F6A1A/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "d68f71", - "Name": "Figurine_Custom", - "Transform": { - "posX": 18.503, - "posY": 2.067, - "posZ": 21.057, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.58, - "scaleY": 0.58, - "scaleZ": 0.58 - }, - "Nickname": "Roland Banks", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.04089, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342898253/1379499E10EFB7E14365E7DB265FDEA18852D1D5/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342898308/F1D708F76DF5800CE765EAFA0DC09C26A74FF16B/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b49b1e", - "Name": "Figurine_Custom", - "Transform": { - "posX": -5.15518236, - "posY": 1.02681625, - "posZ": 12.1229219, - "rotX": -3.45639019E-05, - "rotY": 359.971771, - "rotZ": -6.146331E-05, - "scaleX": 0.5750004, - "scaleY": 0.5750004, - "scaleZ": 0.5750004 - }, - "Nickname": "Roland Banks", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0107875289, - "b": 0.325783879 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1763698400342911431/4F699092E6EA90370C6AC757DB37FF9D9A6A7FB8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1763698400342911484/BCB0DA6F1D18C17D45F72A530A648BEC00C54205/", - "ImageScalar": 1.0, - "WidthScale": 0.0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - } - ] - } - ] - }, - { - "GUID": "8112ff", - "Name": "Custom_Tile", - "Transform": { - "posX": 12.174, - "posY": 4.216, - "posZ": 29.914, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 42.0, - "scaleX": 2.2, - "scaleY": 1.0, - "scaleZ": 2.2 - }, - "Nickname": "Generic Difficulty Selector", - "Description": "Define difficulties in this object's script.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/965354846165100486/3DC8FCEF364B30758B09EF96AF9458F2B8E64D56/", - "ImageSecondaryURL": "https://i.imgur.com/EcbhVuh.jpg/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "-- edit the \"tokenData\" table to change the preset difficulties\r\n-- list of valid ids: 'p1', '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8',\r\n-- 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue', 'bless', 'curse', 'frost'\r\n\r\nlocal tokenData = {\r\n Easy = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'red', 'blue' },\r\n Standard = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'red', 'blue' },\r\n Hard = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'red', 'blue' },\r\n Expert = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'red', 'blue' }\r\n}\r\n\r\n-- create buttons on startup\r\nfunction onLoad()\r\n local z_offset = -0.15\r\n for difficulty, _ in pairs(tokenData) do\r\n local clickFunction = difficulty:lower() .. \"Click\"\r\n self.setVar(clickFunction, function() clickFun(difficulty) end)\r\n\r\n self.createButton({\r\n label = difficulty,\r\n function_owner = self,\r\n click_function = clickFunction,\r\n position = { 0, 0.1, z_offset },\r\n rotation = { 0, 0, 0 },\r\n scale = { 0.47, 1, 0.47 },\r\n height = 200,\r\n width = 1150,\r\n font_size = 100,\r\n color = { 0.87, 0.8, 0.70 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n z_offset = z_offset + 0.20\r\n end\r\nend\r\n\r\nfunction clickFun(difficulty)\r\n Global.call(\"setChaosBagState\", tokenData[difficulty])\r\nend\r", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2ab443", - "Name": "Custom_Model", - "Transform": { - "posX": 29.585, - "posY": 4.094, - "posZ": -21.078, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.3, - "scaleY": 0.3, - "scaleZ": 0.3 - }, - "Nickname": "\"Lucky\" Penny", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://www.dropbox.com/s/wyu6zud8r8ewqnt/Coin.obj?dl=1", - "DiffuseURL": "https://www.dropbox.com/s/g0c0hdqw5w3q1an/Blursed-Coin-Faces.png?dl=1", - "NormalURL": "", - "ColliderURL": "https://www.dropbox.com/s/wyu6zud8r8ewqnt/Coin.obj?dl=1", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 3, - "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": "bc81cb", - "Name": "Custom_Tile", - "Transform": { - "posX": 29.9, - "posY": 4.095, - "posZ": -21.013, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 359.0, - "scaleX": 0.46, - "scaleY": 1.0, - "scaleZ": 0.46 - }, - "Nickname": "Double-Sided Resource", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1634201755654309427/59F903E0AF5599D782B756AB92B5D9203002DF61/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1634201755654309873/9A23829955A98CBAC1E6BA2D3E14D4FFF0A86463/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 1, - "Thickness": 0.1, - "Stackable": false, - "Stretch": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b171c8", - "Name": "Custom_Tile", - "Transform": { - "posX": 43.122, - "posY": 2.338, - "posZ": -36.618, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Descriptive Phase Tracker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.10624, - "g": 0.0083, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/933819604050849085/9E22AFD7B0157140FC177DBCCBCB1D61D6A0329F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/933819604050849524/797528309EFBAC7485283048AAB9DA68B8A31891/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "function onLoad()\r\n -- Add a button to the object\r\n local params = {}\r\n params.click_function = 'toPhaseTwo'\r\n params.function_owner = self\r\n params.tooltip = '1. Mythos Phase\\n\\n 1.1 Round begins. Mythos phase begins.\\n\\n 1.2 Place 1 doom on the current agenda.\\n\\n 1.3 Check doom threshold.\\n\\n 1.4 Each investigator draws 1\\n encounter card.\\n\\n> PLAYER WINDOW <\\n\\n 1.5 Mythos phase ends.'\r\n params.width = 600\r\n params.height = 600\r\n self.createButton(params)\r\nend\r\n\r\nfunction toPhaseTwo()\r\n self.setState(2)\r\nend\r", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "e75551", - "Name": "Custom_Tile", - "Transform": { - "posX": -39.1360855, - "posY": 1.24541819, - "posZ": 49.92741, - "rotX": 0.0208078064, - "rotY": 269.9888, - "rotZ": 0.016764963, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Descriptive Phase Tracker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.04146277, - "g": 0.113237955, - "b": 0.0009864086 - }, - "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/933819604050885611/845B5AA915F30492B5F34864698B9C3627FA5763/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/933819604050886219/5987AB68E0D2609CC3831F1311E9070D7189FBA8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "function onLoad()\n -- Add a button to the object\n local params = {}\n params.click_function = 'toPhaseThree'\n params.function_owner = self\n params.tooltip = '2. Investigation Phase\\n\\n 2.1 Investigation phase begins.\\n\\n> PLAYER WINDOW <\\n\\n 2.2 Next investigator’s turn begins.\\n\\n> PLAYER WINDOW <\\n\\n 2.2.1 Active investigator may take\\n an action, if able. If an action\\n was taken, return to previous\\n player window. If no action was\\n taken, proceed to 2.2.2.\\n\\n 2.2.2 Investigator’s turn ends.\\n If an investigator has not yet\\n taken a turn this phase, return\\n to 2.2. If each investigator has\\n taken a turn this phase,\\n proceed to 2.3.\\n\\n 2.3 Investigation phase ends.'\n params.width = 600\n params.height = 600\n self.createButton(params)\nend\n\nfunction toPhaseThree()\n self.setState(3)\nend", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "042d56", - "Name": "Custom_Tile", - "Transform": { - "posX": -39.1360855, - "posY": 1.24541819, - "posZ": 49.92741, - "rotX": 0.0208078064, - "rotY": 269.9888, - "rotZ": 0.016764963, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Descriptive Phase Tracker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.235189646, - "g": 0.0, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/982233321870235122/492996D07ABF6DDA4B605A3013C4892839DCF1F3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/982233321870235526/32D11CE67CBFB6E1197E540F9CA08F871A500C85/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "function onLoad()\n -- Add a button to the object\n local params = {}\n params.click_function = 'toPhaseFour'\n params.function_owner = self\n params.tooltip = '3. Enemy Phase\\n\\n 3.1 Enemy phase begins.\\n\\n 3.2 Hunter enemies move.\\n\\n> PLAYER WINDOW <\\n\\n 3.3 Next investigator resolves\\n engaged enemy attacks. If an\\n investigator has not yet\\n resolved enemy attacks this\\n phase, return to previous\\n player window. After final\\n investigator resolves engaged\\n enemy attacks, proceed to\\n next player window.\\n\\n> PLAYER WINDOW <\\n\\n 3.4 Enemy phase ends.'\n params.width = 600\n params.height = 600\n self.createButton(params)\nend\n\nfunction toPhaseFour()\n self.setState(4)\nend", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "44077a", - "Name": "Custom_Tile", - "Transform": { - "posX": -39.1360855, - "posY": 1.24541819, - "posZ": 49.92741, - "rotX": 0.0208078064, - "rotY": 269.9888, - "rotZ": 0.016764963, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Descriptive Phase Tracker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.5313587, - "g": 0.3496283, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/982233321870237261/C287CAED2423970F33E72D6C7415CBEC6794C533/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/982233321870237827/81374325F650673C37C89E4E2A1DC25F1C97FED8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "function onLoad()\n -- Add a button to the object\n local params = {}\n params.click_function = 'toPhaseOne'\n params.function_owner = self\n params.tooltip = '4. Upkeep Phase\\n\\n 4.1 Upkeep phase begins.\\n\\n> PLAYER WINDOW <\\n\\n 4.2 Reset actions.\\n\\n 4.3 Ready each exhausted card.\\n\\n 4.4 Each investigator draws 1\\n card and gains 1 resource.\\n\\n 4.5 Each investigator checks\\n hand size.\\n\\n 4.6 Upkeep phase ends.\\n Round ends.'\n params.width = 600\n params.height = 600\n self.createButton(params)\nend\n\nfunction toPhaseOne()\n self.setState(1)\nend", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "2547b3", - "Name": "Custom_Model", - "Transform": { - "posX": 30.163, - "posY": 4.157, - "posZ": -21.518, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 0.5, - "scaleZ": 0.5 - }, - "Nickname": "Custom Data Helper", - "Description": "Include this in custom content for clue spawning!", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583187306/6844B833AD55B9A34095067B201B311E1348325F/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.7222887, - "g": 0.507659256, - "b": 0.339915335 - }, - "SpecularIntensity": 0.4, - "SpecularSharpness": 7.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "LuaScript": "-- 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)\nrequire(\"core/CustomDataHelper\")\nend)\n__bundle_register(\"core/CustomDataHelper\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- set true to enable debug logging\r\nDEBUG = false\r\n\r\nfunction log(message)\r\n if DEBUG then\r\n print(message)\r\n end\r\nend\r\n\r\n--[[\r\nKnown locations and clues. We check this to determine if we should\r\natttempt to spawn clues, first we look for _ and if\r\nwe find nothing we look for \r\nformat is [location_guid -> clueCount]\r\n]]\r\nLOCATIONS_DATA_JSON = [[\r\n{\r\n \"San Francisco\": {\"type\": \"fixed\", \"value\": 1, \"clueSide\": \"back\"},\r\n \"\tArkham\": {\"type\": \"perPlayer\", \"value\": 1, \"clueSide\": \"back\"},\r\n \"Buenos Aires\": {\"type\": \"fixed\", \"value\": 2, \"clueSide\": \"back\"},\r\n \"\tLondon\": {\"type\": \"perPlayer\", \"value\": 2, \"clueSide\": \"front\"},\r\n \"Rome\": {\"type\": \"perPlayer\", \"value\": 3, \"clueSide\": \"front\"},\r\n \"Istanbul\": {\"type\": \"perPlayer\", \"value\": 4, \"clueSide\": \"front\"},\r\n \"Tokyo_123abc\": {\"type\": \"perPlayer\", \"value\": 0, \"clueSide\": \"back\"},\r\n \"Tokyo_456efg\": {\"type\": \"perPlayer\", \"value\": 4, \"clueSide\": \"back\"},\r\n \"Tokyo\": {\"type\": \"fixed\", \"value\": 2, \"clueSide\": \"back\"},\r\n \"Shanghai_123\": {\"type\": \"fixed\", \"value\": 12, \"clueSide\": \"front\"},\r\n \"Sydney\": {\"type\": \"fixed\", \"value\": 0, \"clueSide\": \"front\"}\r\n}\r\n]]\r\n\r\n\r\nPLAYER_CARD_DATA_JSON = [[\r\n{\r\n \"Tool Belt (0)\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 2\r\n },\r\n \"Tool Belt (3)\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 4\r\n },\r\n \"Yithian Rifle\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 3\r\n },\r\n \"xxx\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 3\r\n }\r\n}\r\n]]\r\n\r\nHIDDEN_CARD_DATA = {\r\n \"Unpleasant Card (Doom)\",\r\n \"Unpleasant Card (Gloom)\",\r\n \"The Case of the Scarlet DOOOOOM!\"\r\n}\r\n\r\nLOCATIONS_DATA = JSON.decode(LOCATIONS_DATA_JSON)\r\nPLAYER_CARD_DATA = JSON.decode(PLAYER_CARD_DATA_JSON)\r\n\r\nfunction onload(save_state)\r\n local playArea = getObjectFromGUID('721ba2')\r\n playArea.call(\"updateLocations\", {self.getGUID()})\r\n local playerMatWhite = getObjectFromGUID('8b081b')\r\n playerMatWhite.call(\"updatePlayerCards\", {self.getGUID()})\r\n local playerMatOrange = getObjectFromGUID('bd0ff4')\r\n playerMatOrange.call(\"updatePlayerCards\", {self.getGUID()})\r\n local playerMatGreen = getObjectFromGUID('383d8b')\r\n playerMatGreen.call(\"updatePlayerCards\", {self.getGUID()})\r\n local playerMatRed = getObjectFromGUID('0840d5')\r\n playerMatRed.call(\"updatePlayerCards\", {self.getGUID()})\r\n local dataHelper = getObjectFromGUID('708279')\r\n dataHelper.call(\"updateHiddenCards\", {self.getGUID()})\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3650ea", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -38.919, - "posY": 2.993, - "posZ": -103.036, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 0.8, - "scaleZ": 0.8 - }, - "Nickname": "Underworld Market Helper", - "Description": "Place a valid market deck inside to start!\nReveal draws the first two cards.\nSwap swaps the position of the two revealed cards.\nFinish adds the remaining card(s) back into the helper.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Number": 0, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/1754695414379239413/0B8E68F3B7311DCF2138FB701F78D1D93FBA4CAB/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2057635966687273556/F6000F633C4B173534EF259722401607EE8DF042/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "function onload(saved_data)\n if saved_data != '' then\n local loaded_data = JSON.decode(saved_data)\n end\n\n revealCardPositions = {\n Vector(3.5, 0.25, 0),\n Vector(-3.5, 0.25, 0)\n }\n\n revealCardPositionsSwap = {\n Vector(-3.5, 0.25, 0),\n Vector(3.5, 0.25, 0)\n }\n\n self.createButton({\n label = 'Underworld Market\\nHelper',\n click_function = \"none\",\n function_owner = self,\n position = {0,-0.1,-1.6},\n height = 0,\n width = 0,\n font_size = 145,\n font_color = {1,1,1}\n })\n\n hiddenCards = 10\n hiddenCardLabel = '-----'\n\n isSetup = false\n movingCards = false\n\n self.addContextMenuItem('Reset helper', resetHelper)\nend\n\nfunction onObjectEnterContainer(container, object)\n if container ~= self then return end\n\n if isSetup and object.tag == \"Card\" then\n refreshButtons()\n end\n\n if object.tag == \"Deck\" then\n if validateDeck(object) then\n takeDeckOut(object.getGUID(), self.getPosition() + Vector(0, 0.1, 0))\n refreshButtons()\n \n isSetup = true\n end\n elseif object.tag ~= \"Card\" then\n broadcastToAll(\"The 'Underworld Market Helper' is meant to be used for cards.\", \"White\")\n end\nend\n\nfunction onObjectLeaveContainer(container, object)\n if container ~= self then return end\n \n if isSetup then\n refreshButtons()\n end\nend\n\nfunction validateDeck(deck)\n if deck.getQuantity() ~= 10 then\n print('Underworld Market Helper: Deck must include exactly 10 cards.')\n return false\n end\n\n local illicitCount = 0\n\n for _, card in ipairs(deck.getObjects()) do\n decodedGMNotes = JSON.decode(card.gm_notes)\n\n if decodedGMNotes ~= nil and string.find(decodedGMNotes.traits, \"Illicit\", 1, true) then\n illicitCount = illicitCount + 1\n end\n end\n\n if illicitCount ~= 10 then\n print('Underworld Market Helper: Deck must include 10 Illicit cards.')\n return false\n end\n\n return true\nend\n\nfunction refreshButtons()\n local cardsList = ''\n\n for i, card in ipairs(self.getObjects()) do\n local localCardName = card.name\n\n if i <= hiddenCards then\n localCardName = hiddenCardLabel\n end\n\n cardsList = cardsList .. localCardName .. '\\n'\n end\n\n self.clearButtons()\n\n self.createButton({\n label = 'Market Deck:',\n click_function = \"none\",\n function_owner = self,\n position = {0,-0.1,-1.6},\n height = 0,\n width = 0,\n font_size = 150,\n font_color = {1,1,1}\n })\n\n self.createButton({\n label = cardsList,\n click_function = \"none\",\n function_owner = self,\n position = {0,-0.1,0.15},\n height = 0,\n width = 0,\n font_size = 115,\n font_color = {1,1,1}\n })\n\n self.createButton({\n click_function = 'revealFirstTwoCards',\n function_owner = self,\n label = 'Reveal',\n position = {-0.85,0,1.6},\n width = 375,\n height = 175,\n font_size = 90\n })\n\n self.createButton({\n click_function = 'swap',\n function_owner = self,\n label = 'Swap',\n position = {0,0,1.6},\n width = 375,\n height = 175,\n font_size = 90\n })\n\n self.createButton({\n click_function = 'finish',\n function_owner = self,\n label = 'Finish',\n position = {0.85,0,1.6},\n width = 375,\n height = 175,\n font_size = 90\n })\nend\n\nfunction takeDeckOut(guid, pos)\n local deck = self.takeObject({ guid = guid, position = pos, smooth = false })\n\n for i = 1, #deck.getObjects() do\n self.putObject(deck.takeObject({ position = pos + Vector(0, 0.1 * i, 0), smooth = false }))\n end\n\n self.shuffle()\nend\n\nfunction getRevealedCards()\n local revealedCards = {}\n\n for _, pos in ipairs(revealCardPositions) do\n local hitList = Physics.cast({\n origin = self.positionToWorld(pos) + Vector(0, 0.25, 0),\n direction = {0,-1,0},\n type = 1,\n max_distance = 2\n })\n\n for _, hit in ipairs(hitList) do\n if hit.hit_object != self and hit.hit_object.tag == \"Card\" then\n table.insert(revealedCards, hit.hit_object.getGUID())\n end\n end\n end\n\n return revealedCards\nend\n\nfunction revealFirstTwoCards()\n if movingCards or #getRevealedCards() > 0 then return end\n\n for i, card in ipairs(self.getObjects()) do\n movingCards = true\n\n self.takeObject({\n index = 0,\n rotation = self.getRotation(),\n position = self.positionToWorld(revealCardPositions[i]),\n callback_function = function(obj)\n obj.resting = true\n movingCards = false\n end\n })\n\n hiddenCards = hiddenCards - 1\n\n if i == 2 or #self.getObjects() == 0 then\n break\n end\n end\n\n refreshButtons()\nend\n\nfunction swap()\n if movingCards then return end\n\n local revealedCards = getRevealedCards()\n\n if #revealedCards == 2 then\n for i, revealedCardGUID in ipairs(revealedCards) do\n local revealedCard = getObjectFromGUID(revealedCardGUID)\n\n revealedCard.setPositionSmooth(self.positionToWorld(revealCardPositionsSwap[i]), false, false)\n end\n end\nend\n\nfunction finish()\n if movingCards then return end\n\n local revealedCards = getRevealedCards()\n\n movingCards = true\n\n for i, revealedCardGUID in ipairs(revealedCards) do\n self.putObject(getObjectFromGUID(revealedCardGUID))\n end\n\n Wait.time(\n function()\n movingCards = false\n end,\n 0.75)\nend\n\nfunction resetHelper()\n for i, card in ipairs(self.getObjects()) do\n self.takeObject({\n index = 0,\n smooth = false,\n rotation = self.getRotation(),\n position = self.positionToWorld(revealCardPositions[2])\n })\n end\n\n self.clearButtons()\n\n self.createButton({\n label = 'Underworld Market\\nHelper',\n click_function = \"none\",\n function_owner = self,\n position = {0,-0.1,-1.6},\n height = 0,\n width = 0,\n font_size = 145,\n font_color = {1,1,1}\n })\n\n hiddenCards = 10\n isSetup = false\n movingCards = false\n\n self.reset()\n\n print('Underworld Market Helper: Helper has been reset.')\nend", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "64a613", - "Name": "Custom_Model", - "Transform": { - "posX": 65.0, - "posY": 1.4814992, - "posZ": -55.0, - "rotX": -1.152775E-07, - "rotY": 270.0, - "rotZ": 3.44595641E-08, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Core/Night of the Zealot", - "Description": "", - "GMNotes": "campaigns/night_of_the_zealot.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517667628371/18438B0A0045038A7099648AA3346DFCAA267C66/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"ml\":[]}", - "XmlUI": "" - }, - { - "GUID": "2898f6", - "Name": "Custom_Model", - "Transform": { - "posX": 52.0, - "posY": 1.48149884, - "posZ": -55.0, - "rotX": -1.26497156E-07, - "rotY": 270.0, - "rotZ": -3.09829251E-09, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Dunwich Legacy", - "Description": "", - "GMNotes": "campaigns/dunwich_legacy.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517667666249/B7EB11E1C48A63D3B8AC233FF2DF0BBAD74ECC6E/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aca04c", - "Name": "Custom_Model", - "Transform": { - "posX": 39.0, - "posY": 1.481499, - "posZ": -55.0, - "rotX": 4.66271246E-07, - "rotY": 270.0, - "rotZ": 2.509694E-08, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Path to Carcosa", - "Description": "", - "GMNotes": "campaigns/path_to_carcosa.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517667645467/CDF71CF96691CEF2E690F71332479ACBA0697864/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0bcf19", - "Name": "Custom_Model", - "Transform": { - "posX": 26.0, - "posY": 1.48554, - "posZ": -55.0, - "rotX": 7.27779366E-07, - "rotY": 270.0, - "rotZ": 3.49601437E-09, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Forgotten Age", - "Description": "", - "GMNotes": "campaigns/forgotten_age.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517669830426/AAB750A408E887633F25AFDFB194C50A9A1518DF/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "63e097", - "Name": "Custom_Model", - "Transform": { - "posX": 13.0, - "posY": 1.48553991, - "posZ": -55.0, - "rotX": 2.48458516E-08, - "rotY": 270.0, - "rotZ": -1.52980675E-07, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Circle Undone", - "Description": "", - "GMNotes": "campaigns/circle_undone.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517669843863/DC0750A38111062909FEDA1BC20685895A574A54/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "465aab", - "Name": "Custom_Model", - "Transform": { - "posX": 52.0, - "posY": 1.48553991, - "posZ": -87.0, - "rotX": 2.06648764E-07, - "rotY": 270.0, - "rotZ": 9.93114746E-09, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Innsmouth Conspiracy", - "Description": "", - "GMNotes": "campaigns/innsmouth_conspiracy.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132195050/3888AC3E4F59D039C5F01B7EC72AB63174184381/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "56270d", - "Name": "Custom_Model", - "Transform": { - "posX": 65.0, - "posY": 1.866499, - "posZ": -71.0, - "rotX": -6.608083E-08, - "rotY": 270.0, - "rotZ": -2.64925948E-08, - "scaleX": 2.0, - "scaleY": 0.11, - "scaleZ": 1.69 - }, - "Nickname": "Return to the Night of the Zealot", - "Description": "", - "GMNotes": "campaigns/return_to_notz.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.99608, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517667598054/18C06F0F20D9D4651E6736FB609E2D41F4D1964E/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ce9130", - "Name": "Custom_Model", - "Transform": { - "posX": 52.0, - "posY": 1.866499, - "posZ": -71.0, - "rotX": -7.078322E-08, - "rotY": 270.0, - "rotZ": -2.27849029E-08, - "scaleX": 2.0, - "scaleY": 0.11, - "scaleZ": 1.69 - }, - "Nickname": "Return to The Dunwich Legacy", - "Description": "", - "GMNotes": "campaigns/return_to_tdl.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.99608, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517667592476/36D86649503A49A36AA97B7B72C6150E4C2BE333/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e9889a", - "Name": "Custom_Model", - "Transform": { - "posX": 39.0, - "posY": 1.866499, - "posZ": -71.0, - "rotX": -6.12621136E-08, - "rotY": 270.0, - "rotZ": -1.94132923E-08, - "scaleX": 2.0, - "scaleY": 0.11, - "scaleZ": 1.69 - }, - "Nickname": "Return to The Path to Carcosa", - "Description": "", - "GMNotes": "campaigns/return_to_tptc.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.99608, - "b": 1.0, - "a": 0.27059 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517667556656/9638E8CE7F209B50634B202C9EF4B0BDB4993BBB/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "479ff3", - "Name": "Custom_Model", - "Transform": { - "posX": 26.0, - "posY": 1.866499, - "posZ": -71.0, - "rotX": -6.887617E-08, - "rotY": 270.0, - "rotZ": -1.51509116E-08, - "scaleX": 2.0, - "scaleY": 0.11, - "scaleZ": 1.69 - }, - "Nickname": "Return to The Forgotten Age", - "Description": "", - "GMNotes": "campaigns/return_to_tfa.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.99608, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1474319121423613924/490D56D20C6AE0547D67D942513396E8D0584A4A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fea079", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 1.59800088, - "posY": 1.58655512, - "posZ": -13.7460041, - "rotX": 1.64780953E-08, - "rotY": 315.0, - "rotZ": 7.095592E-08, - "scaleX": 3.0, - "scaleY": 3.0, - "scaleZ": 3.0 - }, - "Nickname": "Chaos Bag", - "Description": "Chaos Bag", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "chaosBag" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/87098596225685535/6C95EB6308A0A9E89367DD67D5C65D09EB3C06A0/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/959719855127933035/B199A5F515A8F3ED7E06780D3723285C02ADE085/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "540149", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 4.619, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-2", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/bfTg2hb.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8dc75", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "0", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/btEtVfd.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e30eb1", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 6.256, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-2", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/bfTg2hb.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6f16f0", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-3", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/yfs8gHq.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8e06b9", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-4", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/qrgGQRD.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6ca146", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Tablet", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/1plY463.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "957602", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Elder Sign", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/nEmqjmj.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "238252", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 7.075, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Skull", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/stbBxtx.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6e0c0d", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "+1", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/uIx8jbY.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b08198", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-1", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/w3XbrCC.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "17e7c4", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 7.894, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Auto-fail", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/lns4fhz.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "25f01b", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 5.437, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Skull", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/stbBxtx.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "15e190", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-1", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/w3XbrCC.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "90356c", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "0", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/btEtVfd.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "370e96", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "Cultist", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/VzhJJaH.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6633aa", - "Name": "Custom_Tile", - "Transform": { - "posX": 0.0, - "posY": 8.712, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 0.81, - "scaleY": 1.0, - "scaleZ": 0.81 - }, - "Nickname": "-1", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/w3XbrCC.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "708279", - "Name": "Custom_Tile", - "Transform": { - "posX": -56.528, - "posY": 1.491, - "posZ": -93.982, - "rotX": 0.0, - "rotY": 315.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Data Helper", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/254843371583173230/BECDC34EB4D2C8C5F9F9933C97085F82A2F21AE3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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)\nrequire(\"core/DataHelper\")\nend)\n__bundle_register(\"core/DataHelper\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- set true to enable debug logging\r\nDEBUG = false\r\n\r\nfunction log(message)\r\n if DEBUG then\r\n print(message)\r\n end\r\nend\r\n\r\n-- data for difficulty selector scripts to set up chaos bag\r\nmodeData = {\r\n ['Core Set'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['The Devourer Below'] = {\r\n easy = { parent = 'Core Set', append = { 'elder' }, message = 'An additional token for the preparation of this scenario has been added to the bag.' },\r\n normal = { parent = 'Core Set', append = { 'elder' }, message = 'An additional token for the preparation of this scenario has been added to the bag.' },\r\n hard = { parent = 'Core Set', append = { 'elder' }, message = 'An additional token for the preparation of this scenario has been added to the bag.' },\r\n expert = { parent = 'Core Set', append = { 'elder' }, message = 'An additional token for the preparation of this scenario has been added to the bag.' }\r\n },\r\n\r\n -----------------The Dunwich Legacy\r\n ['The Dunwich Legacy'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'red', 'blue' } }\r\n },\r\n ['The Miskatonic Museum'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Essex County Express'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Blood on the Altar'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Undimensioned and Unseen'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Where Doom Awaits'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Lost in Time and Space'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Path to Carcosa\r\n ['The Path to Carcosa'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'skull', 'red', 'blue' } }\r\n },\r\n ['The Last King'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' }, random = { {'cultist', 'cultist'}, {'tablet', 'tablet'}, {'elder', 'elder'} } }\r\n },\r\n ['Echoes of the Past'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' }, random = { {'cultist', 'cultist'}, {'tablet', 'tablet'}, {'elder', 'elder'} } }\r\n },\r\n ['The Unspeakable Oath'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' }, random = { {'cultist', 'cultist'}, {'tablet', 'tablet'}, {'elder', 'elder'} } }\r\n },\r\n ['A Phantom of Truth'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' }, random = { {'cultist', 'cultist'}, {'tablet', 'tablet'}, {'elder', 'elder'} } }\r\n },\r\n ['The Pallid Mask'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' }, random = { {'cultist', 'cultist'}, {'tablet', 'tablet'}, {'elder', 'elder'} } }\r\n },\r\n ['Black Stars Rise'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'skull', 'red', 'blue' }, random = { {'cultist', 'cultist'}, {'tablet', 'tablet'}, {'elder', 'elder'} } }\r\n },\r\n ['Dim Carcosa'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'skull', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Forgotten Age\r\n ['The Forgotten Age'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm6', 'm8', 'skull', 'skull', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Doom of Eztli'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Threads of Fate'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Boundary Beyond'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The City of Archives'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Depths of Yoth'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Heart of the Elders'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Shattered Aeons'] = {\r\n standalone = { token = { 'p1', '0', '0', '0','m1', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Circle Undone\r\n ['The Circle Undone'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'skull', 'skull', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm6', 'm8', 'skull', 'skull', 'red', 'blue' } }\r\n },\r\n [\"At Death's Doorstep\"] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Secret Name'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Wages of Sin'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['For the Greater Good'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Union and Disillusion'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['In the Clutches of Chaos'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Before the Black Throne'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1','m1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Dream-Eaters\r\n ['TDE_A'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'cultist', 'tablet', 'tablet', 'red', 'blue' } }\r\n },\r\n ['TDE_B'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Search For Kadath'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } }\r\n },\r\n ['A Thousand Shapes of Horror'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['Dark Side of the Moon'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Point of No Return'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['Where the Gods Dwell'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Weaver of the Cosmos'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'cultist', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Innsmouth Conspiracy\r\n ['The Innsmouth Conspiracy'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } } ,\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['TIC_Standalone'] = {\r\n standalone = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------Edge of the Earth\r\n ['Edge of the Earth'] = {\r\n easy = { token = { 'p1', 'p1', 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'frost', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'frost', 'frost', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'm7', 'frost', 'frost', 'frost', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['City of the Elder Things'] = {\r\n easy = { token = { 'p1', 'p1', 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'frost', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'frost', 'frost', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'm7', 'frost', 'frost', 'frost', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Scarlet Keys\r\n ['The Scarlet Keys'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n\r\n -----------------The Side Missions\r\n --official\r\n ['Curse of the Rougarou'] = {\r\n normal = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm5', 'm6', 'm8', 'skull', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Carnevale of Horrors'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Labyrinths of Lunacy'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0','m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'red', 'blue' } }\r\n },\r\n ['Guardians of the Abyss'] = {\r\n normal = { token = { 'p1', 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm7', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['Excelsior'] = {\r\n normal = { token = { 'p1', '0', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['Read or Die'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['All or Nothing'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Meowlathotep'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['WotOG'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'skull', 'red', 'blue' } }\r\n },\r\n ['Bad Blood'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Machinations'] = {\r\n easy = { token = { 'p1', 'p1', 'p1', '0', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['Red Tide'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['FaF'] = {\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm6', 'm7', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n\r\n --fan-made\r\n ['Carnevale of Spiders'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Nephew Calls'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Outsider'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Stranger Things'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Winter Winds'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'skull', 'cultist', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'cultist', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'cultist', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'cultist', 'red', 'blue' } }\r\n },\r\n ['The Festival'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Forbidding Desert'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Happys Funhouse'] = {\r\n normal = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm5', 'm7', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Knightfall'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm5', 'm6', 'm8', 'cultist', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Last Call at Roxies'] = {\r\n easy = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'skull', 'elder', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Limens of Belief'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Blood Spilled in Salem'] = {\r\n normal = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Bread and Circuses'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Bridge of Sighs'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['The Collector'] = {\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['The Colour out of Space'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm5', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Curse of Amultep'] = {\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['The Dying Star'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'blue', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'blue', 'red', 'blue' } }\r\n },\r\n ['Against the Wendigo'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Pensher Wyrm'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm5', 'm6', 'm8', 'skull', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'elder', 'red', 'blue' } }\r\n },\r\n ['Approaching Storm'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Into the Shadowlands'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['London Set 1'] = {\r\n easy = { token = { 'p2', 'p1', '0', '0', '0', 'm1', 'm2', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm2', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm2', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n },\r\n ['London Set 2'] = {\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm2', 'm3', 'skull', 'skull', 'elder', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm2', 'm3', 'skull', 'skull', 'elder', 'elder', 'tablet', 'red', 'blue' } },\r\n },\r\n ['London Set 3'] = {\r\n normal = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n },\r\n ['Delta Green'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['Jennys Choice'] = {\r\n easy = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4','skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm5', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['The Blob'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['The Initiation'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm6', 'm8', 'skull', 'skull', 'elder', 'red', 'blue' } }\r\n },\r\n ['Consternation'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'm6', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'm6', 'm7', 'skull', 'skull', 'skull', 'red', 'blue' } },\r\n },\r\n ['Of Sphinx'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'skull', 'elder', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'elder', 'cultist', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'skull', 'elder', 'cultist', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'elder', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Ordis'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'elder', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'elder', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'elder', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'elder', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['Darkness Falls'] = {\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n },\r\n ['War of the Worlds'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'elder', 'red', 'blue' } }\r\n },\r\n ['Alice in Wonderland'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'm5', 'm6', 'skull', 'skull', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'skull', 'skull', 'elder', 'red', 'blue' } }\r\n },\r\n ['Pokemon'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm3', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm6', 'm8', 'skull', 'skull', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Safari'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['Cerulean'] = {\r\n normal = { token = { 'p1', '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm5', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'skull', 'skull', 'cultist', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['Erich Zann'] = {\r\n easy = { token = { 'p1', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm4', 'm5', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } }\r\n },\r\n ['Kaimonogatari'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'skull', 'skull', 'cultist', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm2', 'm2', 'm3', 'm4', 'm4', 'm5', 'skull', 'skull', 'cultist', 'red', 'blue' } },\r\n expert = { token = { '0', '0', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm6', 'm8', 'skull', 'skull', 'cultist', 'red', 'blue' } }\r\n },\r\n ['Sleepy Hollow'] = {\r\n normal = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['Flesh'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm3', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm4', 'm6', 'skull', 'skull', 'cultist', 'tablet', 'tablet', 'red', 'blue' } },\r\n },\r\n ['Dark Matter'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'cultist', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'cultist', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'cultist', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'cultist', 'red', 'blue' } }\r\n },\r\n ['Dont Starve'] = {\r\n normal = { token = { 'p1', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n hard = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm5', 'm7', 'skull', 'skull', 'cultist', 'tablet', 'elder', 'red', 'blue' } },\r\n },\r\n ['XXXX'] = {\r\n easy = { token = { 'p1', 'p1', '0', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n normal = { token = { 'p1', '0', '0', 'm1', 'm1', 'm1', 'm2', 'm2', 'm3', 'm4', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n hard = { token = { '0', '0', '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm5', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } },\r\n expert = { token = { '0', 'm1', 'm1', 'm2', 'm2', 'm3', 'm3', 'm4', 'm4', 'm5', 'm6', 'm8', 'skull', 'skull', 'cultist', 'tablet', 'red', 'blue' } }\r\n }\r\n}\r\n\r\nfunction onSave()\r\n local globalState = JSON.encode(SPAWNED_PLAYER_CARD_GUIDS)\r\n log('saving global state: ' .. globalState)\r\n return globalState\r\nend\r\n\r\nfunction onLoad(save_state)\r\n if save_state ~= '' then\r\n log('loading global state: ' .. save_state)\r\n SPAWNED_PLAYER_CARD_GUIDS = JSON.decode(save_state)\r\n else\r\n SPAWNED_PLAYER_CARD_GUIDS = {}\r\n end\r\nend\r\n\r\nfunction getSpawnedPlayerCardGuid(params)\r\n local guid = params[1]\r\n if SPAWNED_PLAYER_CARD_GUIDS == nil then\r\n return nil\r\n else\r\n return SPAWNED_PLAYER_CARD_GUIDS[guid]\r\n end\r\nend\r\n\r\nfunction setSpawnedPlayerCardGuid(params)\r\n local guid = params[1]\r\n local value = params[2]\r\n if SPAWNED_PLAYER_CARD_GUIDS ~= nil then\r\n SPAWNED_PLAYER_CARD_GUIDS[guid] = value\r\n return true\r\n else\r\n return false\r\n end\r\nend\r\n\r\n-- called by \"Global\" during encounter card drawing\r\nfunction checkHiddenCard(name)\r\n for _, n in ipairs(HIDDEN_CARD_DATA) do\r\n if name == n then\r\n return true\r\n end\r\n end\r\n return false\r\nend\r\n\r\n-- called by custom data helpers\r\nfunction updateHiddenCards(args)\r\n local custom_data_helper = getObjectFromGUID(args[1])\r\n local data_hiddenCards = custom_data_helper.getTable(\"HIDDEN_CARD_DATA\")\r\n for k, v in ipairs(data_hiddenCards) do\r\n table.insert(HIDDEN_CARD_DATA, v)\r\n end\r\nend\r\n\r\n--------------------------------------------------------------------------\r\n-- deprecated code, kept here for existing calls\r\n--------------------------------------------------------------------------\r\n\r\n-- deprecated, use metadata (GM Notes) instead\r\n-- Known locations and clues. We check this to determine if we should atttempt to spawn clues,\r\n-- first we look for _ and if we find nothing we look for \r\n-- format is [location_guid -> clueCount]\r\n\r\n-- Example 1: \"Study\" from Core Set (https://arkhamdb.com/card/01111)\r\n-- [\"Study\"]= {type=\"perPlayer\", value=2, clueSide= \"back\"}\r\n\r\n-- Example 2: \"Student Union\" from Dunwich Legacy (https://arkhamdb.com/card/02051)\r\n-- [\"Student Union\"]= {type=\"fixed\", value= 2, clueSide= \"back\"}\r\nLOCATIONS_DATA = {}\r\n\r\n-- deprecated, use metadata (GM Notes) instead\r\n-- Player cards with token counts and types\r\n\r\n-- Example: \"Flashlight\" from Core Set (https://arkhamdb.com/card/01087)\r\n-- [\"Flashlight\"]= {tokenType= \"resource\", tokenCount= 3}\r\nPLAYER_CARD_DATA = {}\r\n\r\n-- deprecated, use metadata (GM Notes) instead (still used by custom data helpers)\r\n-- Encounter Cards with \"Hidden.\" (List of names)\r\n\r\n-- Example: \"Possession (Murderous)\" from Path to Carcosa (https://arkhamdb.com/card/03342)\r\n-- ..., \"Possession (Murderous)\", ...\r\nHIDDEN_CARD_DATA = {}\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[]", - "XmlUI": "" - }, - { - "GUID": "5933fb", - "Name": "Custom_Token", - "Transform": { - "posX": -48.2, - "posY": 1.531, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Bless/Curse Manager", - "Description": "Left-Click: Add token\nRight-Click: Remove token\n\nContextmenu allows resetting the current state or removing all bless/curse tokens from play.\n\nSee Notebook for detailed instructions.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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/2018214163835858903/EECF1C00C9A0C837DD40D7B5A3456B88DF0CEC08/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": true - } - }, - "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(\"chaosbag/BlessCurseManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\n\r\n-- common button parameters\r\nlocal buttonParamaters = {}\r\nbuttonParamaters.function_owner = self\r\nbuttonParamaters.color = { 0, 0, 0, 0 }\r\nbuttonParamaters.width = 700\r\nbuttonParamaters.height = 700\r\n\r\nlocal altState = false\r\nlocal MODE = {\r\n [false] = \"Add / Remove\",\r\n [true] = \"Take / Return\"\r\n}\r\nlocal BUTTON_COLOR = {\r\n [false] = { 0.4, 0.4, 0.4 },\r\n [true] = { 0.9, 0.9, 0.9 }\r\n}\r\nlocal FONT_COLOR = {\r\n [false] = { 1, 1, 1 },\r\n [true] = { 0, 0, 0 }\r\n}\r\nlocal whitespace = \" \"\r\nlocal updating\r\n\r\n---------------------------------------------------------\r\n-- creating buttons and menus + initializing tables\r\n---------------------------------------------------------\r\n\r\nfunction onSave() return JSON.encode(altState) end\r\n\r\nfunction onLoad(saved_state)\r\n if saved_state ~= nil then\r\n altState = JSON.decode(saved_state)\r\n end\r\n\r\n -- index: 0 - bless\r\n buttonParamaters.click_function = \"clickBless\"\r\n buttonParamaters.position = { -1.03, 0.05, 0.46 }\r\n self.createButton(buttonParamaters)\r\n\r\n -- index: 1 - curse\r\n buttonParamaters.click_function = \"clickCurse\"\r\n buttonParamaters.position[1] = -buttonParamaters.position[1]\r\n self.createButton(buttonParamaters)\r\n\r\n -- index: 2 - alternative mode (take / return)\r\n buttonParamaters.click_function = \"enableAlt\"\r\n buttonParamaters.width = 900\r\n buttonParamaters.height = 210\r\n buttonParamaters.position = { -1.03, 0.05, -0.85 }\r\n self.createButton(buttonParamaters)\r\n\r\n -- index: 3 - default mode (add / remove)\r\n buttonParamaters.click_function = \"enableDefault\"\r\n buttonParamaters.position[1] = -buttonParamaters.position[1]\r\n self.createButton(buttonParamaters)\r\n\r\n -- load labels, tooltips and colors\r\n updateButtons()\r\n\r\n -- context menu\r\n self.addContextMenuItem(\"Remove all\", doRemove)\r\n self.addContextMenuItem(\"Reset\", doReset)\r\n\r\n -- initializing tables \r\n initializeState()\r\n broadcastCount(\"Curse\")\r\n broadcastCount(\"Bless\")\r\nend\r\n\r\nfunction resetTables()\r\n numInPlay = { Bless = 0, Curse = 0 }\r\n tokensTaken = { Bless = {}, Curse = {} }\r\n sealedTokens = {}\r\nend\r\n\r\nfunction initializeState()\r\n resetTables()\r\n\r\n -- count tokens in the bag\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n local tokens = {}\r\n for _, v in ipairs(chaosbag.getObjects()) do\r\n if v.name == \"Bless\" then\r\n numInPlay.Bless = numInPlay.Bless + 1\r\n elseif v.name == \"Curse\" then\r\n numInPlay.Curse = numInPlay.Curse + 1\r\n end\r\n end\r\n\r\n -- find tokens in the play area\r\n for _, obj in ipairs(getObjects()) do\r\n local pos = obj.getPosition()\r\n if pos.x > -65 and pos.x < 10 and pos.z > -35 and pos.z < 35 then\r\n if obj.getName() == \"Bless\" then\r\n table.insert(tokensTaken.Bless, obj.getGUID())\r\n numInPlay.Bless = numInPlay.Bless + 1\r\n elseif obj.getName() == \"Curse\" then\r\n table.insert(tokensTaken.Curse, obj.getGUID())\r\n numInPlay.Curse = numInPlay.Curse + 1\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction broadcastCount(token)\r\n local count = formatTokenCount(token)\r\n if count == \"(0/0)\" then return end\r\n broadcastToAll(token .. \" Tokens \" .. count, \"White\")\r\nend\r\n\r\nfunction broadcastStatus(color)\r\n broadcastToColor(\"Curse Tokens \" .. formatTokenCount(\"Curse\"), color, \"White\")\r\n broadcastToColor(\"Bless Tokens \" .. formatTokenCount(\"Bless\"), color, \"White\")\r\nend\r\n\r\n-- context menu function 1\r\nfunction doRemove(color)\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n\r\n -- remove tokens from chaos bag\r\n local count = { Bless = 0, Curse = 0 }\r\n for _, v in ipairs(chaosbag.getObjects()) do\r\n if v.name == \"Bless\" or v.name == \"Curse\" then\r\n chaosbag.takeObject({\r\n guid = v.guid,\r\n position = { 0, 5, 0 },\r\n callback_function = function(obj) obj.destruct() end\r\n })\r\n count[v.name] = count[v.name] + 1\r\n end\r\n end\r\n\r\n broadcastToColor(\"Removed \" .. count.Bless .. \" Bless and \" ..\r\n count.Curse .. \" Curse tokens from the chaos bag.\", color, \"White\")\r\n broadcastToColor(\"Removed \" .. removeTakenTokens(\"Bless\") .. \" Bless and \" ..\r\n removeTakenTokens(\"Curse\") .. \" Curse tokens from play.\", color, \"White\")\r\n\r\n resetTables()\r\n tokenArrangerApi.layout()\r\nend\r\n\r\n-- context menu function 2\r\nfunction doReset(color)\r\n initializeState()\r\n broadcastCount(\"Curse\")\r\n broadcastCount(\"Bless\")\r\n tokenArrangerApi.layout()\r\nend\r\n\r\n-- removing tokens that were 'taken'\r\nfunction removeTakenTokens(type)\r\n local count = 0\r\n for _, guid in ipairs(tokensTaken[type]) do\r\n local token = getObjectFromGUID(guid)\r\n if token ~= nil then\r\n token.destruct()\r\n count = count + 1\r\n end\r\n end\r\n return count\r\nend\r\n\r\n---------------------------------------------------------\r\n-- click functions\r\n---------------------------------------------------------\r\n\r\n-- click function 1\r\nfunction clickBless(_, color, isRightClick)\r\n playerColor = color\r\n callFunctions(\"Bless\", isRightClick)\r\nend\r\n\r\n-- click function 2\r\nfunction clickCurse(_, color, isRightClick)\r\n playerColor = color\r\n callFunctions(\"Curse\", isRightClick)\r\nend\r\n\r\n-- click function 3\r\nfunction enableAlt()\r\n if altState then return end\r\n altState = not altState\r\n updateButtons()\r\nend\r\n\r\n-- click function 4\r\nfunction enableDefault()\r\n if not altState then return end\r\n altState = not altState\r\n updateButtons()\r\nend\r\n\r\n---------------------------------------------------------\r\n-- called functions\r\n---------------------------------------------------------\r\n\r\nfunction updateButtons()\r\n self.editButton({\r\n index = 0,\r\n tooltip = MODE[altState] .. \" Bless\"\r\n })\r\n\r\n self.editButton({\r\n index = 1,\r\n tooltip = MODE[altState] .. \" Curse\"\r\n })\r\n\r\n self.editButton({\r\n index = 2,\r\n label = whitespace .. MODE[true] .. (altState and \" ✓\" or whitespace) .. \" \",\r\n color = BUTTON_COLOR[not altState],\r\n font_color = FONT_COLOR[not altState]\r\n })\r\n\r\n self.editButton({\r\n index = 3,\r\n label = whitespace .. MODE[false] .. (altState and whitespace or \" ✓\") .. \" \",\r\n color = BUTTON_COLOR[altState],\r\n font_color = FONT_COLOR[altState]\r\n })\r\nend\r\n\r\n-- function that is called by click_functions 1+2 and calls the other functions\r\nfunction callFunctions(token, isRightClick)\r\n if not Global.call(\"canTouchChaosTokens\") then\r\n return\r\n end\r\n local success\r\n if not altState then\r\n if isRightClick then\r\n success = takeToken(token, true)\r\n else\r\n success = addToken(token)\r\n end\r\n else\r\n if isRightClick then\r\n success = returnToken(token)\r\n else\r\n success = takeToken(token, false)\r\n end\r\n end\r\n if success ~= 0 then tokenArrangerApi.layout() end\r\nend\r\n\r\n-- returns a formatted string with information about the provided token type (bless / curse)\r\nfunction formatTokenCount(type)\r\n if type == nil then type = mode end\r\n return \"(\" .. (numInPlay[type] - #tokensTaken[type]) .. \"/\" .. #tokensTaken[type] .. \")\"\r\nend\r\n\r\n-- called by cards that seal bless/curse tokens\r\n---@param param Table This contains the type and guid of the sealed token\r\nfunction sealedToken(param)\r\n table.insert(tokensTaken[param.type], param.guid)\r\n broadcastCount(param.type)\r\nend\r\n\r\n-- called by cards that seal bless/curse tokens\r\n---@param param Table This contains the type and guid of the released token\r\nfunction releasedToken(param)\r\n for i, v in ipairs(tokensTaken[param.type]) do\r\n if v == param.guid then\r\n table.remove(tokensTaken[param.type], i)\r\n break\r\n end\r\n end\r\n if not updating then\r\n updating = true\r\n Wait.frames(function()\r\n broadcastCount(param.type)\r\n updating = false\r\n end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- main functions: add, take and return\r\n---------------------------------------------------------\r\n\r\nfunction addToken(type)\r\n if numInPlay[type] == 10 then\r\n printToColor(\"10 tokens already in play, not adding any.\", playerColor)\r\n return 0\r\n end\r\n numInPlay[type] = numInPlay[type] + 1\r\n printToAll(\"Adding \" .. type .. \" token \" .. formatTokenCount(type))\r\n return Global.call(\"spawnChaosToken\", type)\r\nend\r\n\r\nfunction takeToken(type, remove)\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n if not remove and not SEAL_CARD_MESSAGE then\r\n broadcastToColor(\"For sealing tokens on cards try right-clicking on the card for seal options.\", playerColor)\r\n SEAL_CARD_MESSAGE = true\r\n end\r\n local tokens = {}\r\n for _, v in ipairs(chaosbag.getObjects()) do\r\n if v.name == type then\r\n table.insert(tokens, v.guid)\r\n end\r\n end\r\n if #tokens == 0 then\r\n printToColor(\"No \" .. type .. \" tokens in the chaos bag.\", playerColor)\r\n return 0\r\n end\r\n local pos = self.getPosition() + Vector(2.25, 0, 0.85)\r\n if type == \"Curse\" then pos[3] = pos[3] - 1.7 end\r\n chaosbag.takeObject({\r\n guid = table.remove(tokens),\r\n position = pos,\r\n smooth = false,\r\n callback_function = function(obj)\r\n if remove then\r\n numInPlay[type] = numInPlay[type] - 1\r\n printToAll(\"Removing \" .. type .. \" token \" .. formatTokenCount(type))\r\n obj.destruct()\r\n else\r\n table.insert(tokensTaken[type], obj.getGUID())\r\n printToAll(\"Taking \" .. type .. \" token \" .. formatTokenCount(type))\r\n end\r\n end\r\n })\r\nend\r\n\r\nfunction returnToken(type)\r\n local guid = table.remove(tokensTaken[type])\r\n if guid == nil then\r\n printToColor(\"No \" .. type .. \" tokens to return\", playerColor)\r\n return 0\r\n end\r\n local token = getObjectFromGUID(guid)\r\n if token == nil then\r\n printToColor(\"Couldn't find token \" .. guid .. \", not returning to bag\", playerColor)\r\n return 0\r\n end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n if chaosbag == nil then\r\n return 0\r\n end\r\n chaosbag.putObject(token)\r\n printToAll(\"Returning \" .. type .. \" token \" .. formatTokenCount(type))\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Wendy Menu (context menu for cards on hotkey press)\r\n---------------------------------------------------------\r\n\r\nfunction addMenuOptions(parameters)\r\n local playerColor = parameters.playerColor\r\n local hoveredObject = parameters.hoveredObject\r\n if hoveredObject == nil or hoveredObject.getVar(\"MENU_ADDED\") == true then return end\r\n if hoveredObject.tag ~= \"Card\" then\r\n broadcastToColor(\"Right-click seal options can only be added to cards\", playerColor)\r\n return\r\n end\r\n\r\n hoveredObject.addContextMenuItem(\"Seal Bless\", function(color)\r\n sealToken(\"Bless\", color, hoveredObject)\r\n tokenArrangerApi.layout()\r\n end, true)\r\n\r\n hoveredObject.addContextMenuItem(\"Release Bless\", function(color)\r\n releaseToken(\"Bless\", color, hoveredObject)\r\n tokenArrangerApi.layout()\r\n end, true)\r\n\r\n hoveredObject.addContextMenuItem(\"Seal Curse\", function(color)\r\n sealToken(\"Curse\", color, hoveredObject)\r\n tokenArrangerApi.layout()\r\n end, true)\r\n\r\n hoveredObject.addContextMenuItem(\"Release Curse\", function(color)\r\n releaseToken(\"Curse\", color, hoveredObject)\r\n tokenArrangerApi.layout()\r\n end, true)\r\n\r\n broadcastToColor(\"Right-click seal options added to \" .. hoveredObject.getName(), playerColor)\r\n hoveredObject.setVar(\"MENU_ADDED\", true)\r\n sealedTokens[hoveredObject.getGUID()] = {}\r\nend\r\n\r\nfunction sealToken(type, playerColor, enemy)\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n if chaosbag == nil then return end\r\n local pos = enemy.getPosition()\r\n\r\n for i, token in ipairs(chaosbag.getObjects()) do\r\n if token.name == type then\r\n chaosbag.takeObject({\r\n position = { pos.x, pos.y + 1, pos.z },\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(obj)\r\n Wait.frames(function()\r\n table.insert(sealedTokens[enemy.getGUID()], obj)\r\n table.insert(tokensTaken[type], obj.getGUID())\r\n printToColor(\"Sealing \" .. type .. \" token \" .. formatTokenCount(type), playerColor)\r\n end, 1)\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(type .. \" token not found in bag\", playerColor)\r\nend\r\n\r\nfunction releaseToken(type, playerColor, enemy)\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n if chaosbag == nil then return end\r\n local tokens = sealedTokens[enemy.getGUID()]\r\n if tokens == nil or #tokens == 0 then return end\r\n\r\n for i, token in ipairs(tokens) do\r\n if token ~= nil and token.getName() == type then\r\n local guid = token.getGUID()\r\n chaosbag.putObject(token)\r\n for j, v in ipairs(tokensTaken[type]) do\r\n if v == guid then\r\n table.remove(tokensTaken[type], j)\r\n table.remove(tokens, i)\r\n printToColor(\"Releasing \" .. type .. \" token\" .. formatTokenCount(type), playerColor)\r\n return\r\n end\r\n end\r\n end\r\n end\r\n printToColor(type .. \" token not sealed on \" .. enemy.getName(), playerColor)\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"chaosbag/BlessCurseManager\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "false", - "XmlUI": "" - }, - { - "GUID": "d8d357", - "Name": "Notecard", - "Transform": { - "posX": 78.0, - "posY": 1.244, - "posZ": 33.583, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 0.25, - "scaleZ": 0.25 - }, - "Nickname": "", - "Description": "lua setNotes(getObjectFromGUID('the objects guid').getJSON())", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "445115", - "Name": "Checker_black", - "Transform": { - "posX": 78.0, - "posY": 1.208, - "posZ": 6.315, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 0.25, - "scaleY": 0.25, - "scaleZ": 0.25 - }, - "Nickname": "Arkham Deck Cutter", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "Tags": [ - "arkham_setup_memory_object" - ], - "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": "-- 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)\nrequire(\"util/DeckCutter\")\nend)\n__bundle_register(\"util/DeckCutter\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- cut 3 (6) cards from a deck if numpad 1 (2) is pressed\r\nfunction onScriptingButtonDown(index, player_color)\r\n if not (index >= 1 and index <= 2) then return end\r\n\r\n local count = index * 3\r\n local player = Player[player_color]\r\n local object = player.getHoverObject()\r\n\r\n if not object then\r\n broadcastToColor(\"Hover over a deck and try again.\", player_color, \"Orange\")\r\n return\r\n end\r\n if object.tag ~= \"Deck\" then\r\n broadcastToColor(\"Hover over a deck and try again.\", player_color, \"Orange\")\r\n return\r\n end\r\n if count >= object.getQuantity() then\r\n broadcastToColor(\"Deck is too small to cut \" .. count .. \" cards.\", player_color, \"Orange\")\r\n return\r\n end\r\n\r\n local pos = object.positionToWorld(Vector(0, 0, -3.5))\r\n for _ = 1, count do\r\n object.takeObject {\r\n index = 0,\r\n position = pos,\r\n smooth = false\r\n }\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2f932", - "Name": "ScriptingTrigger", - "Transform": { - "posX": -27.94, - "posY": 3.5, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 37.0, - "scaleY": 4.0, - "scaleZ": 37.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.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": "895eaa", - "Name": "Custom_Model", - "Transform": { - "posX": 39.0, - "posY": 1.48554, - "posZ": -87.0, - "rotX": 1.928624E-07, - "rotY": 270.0, - "rotZ": -3.13239434E-09, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Edge of the Earth", - "Description": "", - "GMNotes": "campaigns/edge_of_the_earth.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1856042908471857208/3B48FFA47FB366932049AD9CD8A3222A8F89FAEB/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a16a1a", - "Name": "Custom_Model", - "Transform": { - "posX": 65.0, - "posY": 1.48554, - "posZ": -87.0, - "rotX": 2.169519E-07, - "rotY": 270.0, - "rotZ": 4.54161553E-09, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Dream-Eaters", - "Description": "", - "GMNotes": "campaigns/dream_eaters.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517669849292/9CD4BE220E1DE5294B1BC6301792920D213C98B3/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "757324", - "Name": "Custom_Model", - "Transform": { - "posX": 13.0, - "posY": 1.866499, - "posZ": -71.0, - "rotX": 1.0778798E-06, - "rotY": 270.0, - "rotZ": 4.6388358E-08, - "scaleX": 2.0, - "scaleY": 0.11, - "scaleZ": 1.69 - }, - "Nickname": "Return to The Circle Undone", - "Description": "", - "GMNotes": "campaigns/return_to_tcu.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.99608, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086852852/6FD56D74FDDDA5626A3B72E788993EC651AD25E1/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0840d5", - "Name": "Custom_Tile", - "Transform": { - "posX": -30.35, - "posY": 1.45, - "posZ": -26.6, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 6.43, - "scaleY": 1.0, - "scaleZ": 6.43 - }, - "Nickname": "Playermat 4: Red", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037357630681963618/E7271737B19CE0BFAAA382BEEEF497FE3E06ECC1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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-- specific setup (different for each playmat)\n---------------------------------------------------------\n\nTRASHCAN_GUID = \"4b8594\"\nSTAT_TRACKER_GUID = \"e74881\"\nRESOURCE_COUNTER_GUID = \"a4b60d\"\nCLUE_COUNTER_GUID = \"37be78\"\nCLUE_CLICKER_GUID = \"4111de\"\n\nrequire(\"playermat/Playmat\")\nend)\n__bundle_register(\"playermat/Playmat\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\nlocal navigationOverlayApi = require(\"core/NavigationOverlayApi\")\r\n\r\n-- set true to enable debug logging and show Physics.cast()\r\nlocal DEBUG = false\r\n\r\n-- we use this to turn off collision handling until onLoad() is complete\r\nlocal collisionEnabled = false\r\n\r\n-- position offsets relative to mat [x, y, z]\r\nlocal DRAWN_ENCOUNTER_CARD_OFFSET = {1.365, 0.5, -0.625}\r\nlocal DRAWN_CHAOS_TOKEN_OFFSET = {-1.55, 0.25, -0.58}\r\n\r\n-- x-Values for discard buttons\r\nlocal DISCARD_BUTTON_OFFSETS = {-1.365, -0.91, -0.455, 0, 0.455, 0.91}\r\n\r\nlocal SEARCH_AROUND_SELF_X_BUFFER = 8\r\n\r\n-- defined areas for the function \"inArea()\"\"\r\nlocal MAIN_PLAY_AREA = {\r\n upperLeft = {\r\n x = 1.98,\r\n z = 0.736,\r\n },\r\n lowerRight = {\r\n x = -0.79,\r\n z = -0.39,\r\n }\r\n}\r\nlocal INVESTIGATOR_AREA = {\r\n upperLeft = {\r\n x = -1.084,\r\n z = 0.06517\r\n },\r\n lowerRight = {\r\n x = -1.258,\r\n z = -0.0805,\r\n }\r\n}\r\nlocal THREAT_AREA = {\r\n upperLeft = {\r\n x = 1.53,\r\n z = -0.34\r\n },\r\n lowerRight = {\r\n x = -1.13,\r\n z = -0.92,\r\n }\r\n}\r\n\r\nlocal DRAW_DECK_POSITION = { x = -1.82, y = 1, z = 0 }\r\nlocal DISCARD_PILE_POSITION = { x = -1.82, y = 1.5, z = 0.61 }\r\n\r\nlocal TRASHCAN\r\nlocal STAT_TRACKER\r\nlocal RESOURCE_COUNTER\r\n\r\n-- global variable so it can be reset by the Clean Up Helper\r\nactiveInvestigatorId = \"00000\"\r\nlocal isDrawButtonVisible = false\r\n\r\n-- global variable to report \"Dream-Enhancing Serum\" status\r\nisDES = false\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n zoneID = zoneID,\r\n playerColor = playerColor,\r\n activeInvestigatorId = activeInvestigatorId,\r\n isDrawButtonVisible = isDrawButtonVisible\r\n })\r\nend\r\n\r\nfunction onLoad(save_state)\r\n self.interactable = DEBUG\r\n\r\n TRASHCAN = getObjectFromGUID(TRASHCAN_GUID)\r\n STAT_TRACKER = getObjectFromGUID(STAT_TRACKER_GUID)\r\n RESOURCE_COUNTER = getObjectFromGUID(RESOURCE_COUNTER_GUID)\r\n\r\n -- button creation\r\n for i = 1, 6 do\r\n makeDiscardButton(DISCARD_BUTTON_OFFSETS[i], {-3.85, 3, 10.38}, i)\r\n end\r\n\r\n self.createButton({\r\n click_function = \"drawEncountercard\",\r\n function_owner = self,\r\n position = {-1.84, 0, -0.65},\r\n rotation = {0, 80, 0},\r\n width = 265,\r\n height = 190\r\n })\r\n\r\n self.createButton({\r\n click_function = \"drawChaosTokenButton\",\r\n function_owner = self,\r\n position = {1.85, 0, -0.74},\r\n rotation = {0, -45, 0},\r\n width = 135,\r\n height = 135\r\n })\r\n\r\n self.createButton({\r\n label = \"Upkeep\",\r\n click_function = \"doUpkeep\",\r\n function_owner = self,\r\n position = {1.84, 0.1, -0.44},\r\n scale = {0.12, 0.12, 0.12},\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- save state loading\r\n local state = JSON.decode(save_state)\r\n if state ~= nil then\r\n zoneID = state.zoneID\r\n playerColor = state.playerColor\r\n activeInvestigatorId = state.activeInvestigatorId\r\n isDrawButtonVisible = state.isDrawButtonVisible\r\n end\r\n\r\n showDrawButton(isDrawButtonVisible)\r\n\r\n if getObjectFromGUID(zoneID) == nil then spawnDeckZone() end\r\n collisionEnabled = true\r\n\r\n math.randomseed(os.time())\r\nend\r\n\r\n---------------------------------------------------------\r\n-- utility functions\r\n---------------------------------------------------------\r\n\r\nfunction spawnDeckZone()\r\n spawnObject({\r\n position = self.positionToWorld({-1.4, 0, 0.3 }),\r\n scale = {3, 5, 8 },\r\n type = 'ScriptingTrigger',\r\n callback = function (zone) zoneID = zone.getGUID() end,\r\n callback_owner = self,\r\n rotation = self.getRotation()\r\n })\r\nend\r\n\r\nfunction searchArea(origin, size)\r\n return Physics.cast({\r\n origin = origin,\r\n direction = {0, 1, 0},\r\n orientation = self.getRotation(),\r\n type = 3,\r\n size = size,\r\n max_distance = 1,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n-- Finds all objects on the playmat and associated set aside zone.\r\nfunction searchAroundSelf()\r\n local bounds = self.getBoundsNormalized()\r\n -- Increase the width to cover the set aside zone\r\n bounds.size.x = bounds.size.x + SEARCH_AROUND_SELF_X_BUFFER\r\n -- Since the cast is centered on the position, shift left or right to keep the non-set aside edge\r\n -- of the cast at the edge of the playmat\r\n -- setAsideDirection accounts for the set aside zone being on the left or right, depending on the\r\n -- table position of the playmat\r\n local setAsideDirection = bounds.center.z > 0 and 1 or -1\r\n local localCenter = self.positionToLocal(bounds.center)\r\n localCenter.x = localCenter.x\r\n + setAsideDirection * SEARCH_AROUND_SELF_X_BUFFER / 2 / self.getScale().x\r\n\r\n return searchArea(self.positionToWorld(localCenter), bounds.size)\r\nend\r\n\r\nfunction findCardsAroundSelf()\r\n local cards = { }\r\n for _, collision in ipairs(searchAroundSelf()) do\r\n local obj = collision.hit_object\r\n if obj.name == \"Card\" or obj.name == \"CardCustom\" then\r\n table.insert(cards, obj)\r\n end\r\n end\r\n\r\n return cards\r\nend\r\n\r\nfunction doNotReady(card)\r\n return card.getVar(\"do_not_ready\") or false\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Discard buttons\r\n---------------------------------------------------------\r\n\r\n-- builds a function that discards things in searchPosition to discardPosition\r\n-- stuff on the card/deck will be put into the local trashcan\r\nfunction makeDiscardHandlerFor(searchPosition, discardPosition)\r\n return function ()\r\n for _, hitObj in ipairs(findObjectsAtPosition(searchPosition)) do\r\n local obj = hitObj.hit_object\r\n if obj.tag == \"Deck\" or obj.tag == \"Card\" then\r\n if obj.hasTag(\"PlayerCard\") then\r\n obj.setPositionSmooth(self.positionToWorld(DISCARD_PILE_POSITION), false, true)\r\n obj.setRotation(self.getRotation())\r\n else\r\n obj.setPositionSmooth(discardPosition, false, true)\r\n obj.setRotation({0, -90, 0})\r\n end\r\n -- put chaos tokens back into bag (e.g. Unrelenting)\r\n elseif tokenChecker.isChaosToken(obj) then\r\n local chaosBag = Global.call(\"findChaosBag\")\r\n chaosBag.putObject(obj)\r\n -- don't touch the table or this playmat itself\r\n elseif obj.guid ~= \"4ee1f2\" and obj ~= self then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- build a discard button to discard from searchPosition to discardPosition (number must be unique)\r\nfunction makeDiscardButton(xValue, discardPosition, number)\r\n local position = { xValue, 0.1, -0.94}\r\n local searchPosition = {-position[1], position[2], position[3] + 0.32}\r\n local handler = makeDiscardHandlerFor(searchPosition, discardPosition)\r\n local handlerName = 'handler' .. number\r\n self.setVar(handlerName, handler)\r\n self.createButton({\r\n label = \"Discard\",\r\n click_function = handlerName,\r\n function_owner = self,\r\n position = position,\r\n scale = {0.12, 0.12, 0.12},\r\n width = 900,\r\n height = 350,\r\n font_size = 220\r\n })\r\nend\r\n\r\nfunction findObjectsAtPosition(localPos)\r\n return Physics.cast({\r\n origin = self.positionToWorld(localPos),\r\n direction = {0, 1, 0},\r\n orientation = {0, self.getRotation().y + 90, 0},\r\n type = 3,\r\n size = {3.2, 1, 2},\r\n max_distance = 0,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Upkeep button\r\n---------------------------------------------------------\r\n\r\n-- calls the Upkeep function with correct parameter\r\nfunction doUpkeepFromHotkey(color)\r\n doUpkeep(_, color)\r\nend\r\n\r\nfunction doUpkeep(_, clickedByColor, isRightClick)\r\n -- right-click allow color changing\r\n if isRightClick then\r\n changeColor(clickedByColor)\r\n return\r\n end\r\n\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or clickedByColor\r\n\r\n -- unexhaust cards in play zone, flip action tokens and find forcedLearning\r\n local forcedLearning = false\r\n local rot = self.getRotation()\r\n for _, v in ipairs(searchAroundSelf()) do\r\n local obj = v.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.is_face_down then\r\n obj.flip()\r\n elseif obj.tag == \"Card\" and not inArea(self.positionToLocal(obj.getPosition()), INVESTIGATOR_AREA) then\r\n local cardMetadata = JSON.decode(obj.getGMNotes()) or {}\r\n if not doNotReady(obj) then\r\n local cardRotation = round(obj.getRotation().y, 0) - rot.y\r\n local yRotDiff = 0\r\n\r\n if cardRotation < 0 then\r\n cardRotation = cardRotation + 360\r\n end\r\n\r\n -- rotate cards to the next multiple of 90° towards 0°\r\n if cardRotation > 90 and cardRotation <= 180 then\r\n yRotDiff = 90\r\n elseif cardRotation < 270 and cardRotation > 180 then\r\n yRotDiff = 270\r\n end\r\n\r\n -- set correct rotation for face-down cards\r\n rot.z = obj.is_face_down and 180 or 0\r\n obj.setRotation({rot.x, rot.y + yRotDiff, rot.z})\r\n end\r\n if cardMetadata.id == \"08031\" then\r\n forcedLearning = true\r\n end\r\n if cardMetadata.uses ~= nil then\r\n tokenManager.maybeReplenishCard(obj, cardMetadata.uses, self)\r\n end\r\n end\r\n end\r\n\r\n -- flip investigator mini-card and summoned servitor mini-card\r\n -- (all characters allowed to account for custom IDs - e.g. 'Z0000' for TTS Zoop generated IDs)\r\n if activeInvestigatorId ~= nil then\r\n local miniId = string.match(activeInvestigatorId, \".....\") .. \"-m\"\r\n for _, obj in ipairs(getObjects()) do\r\n if obj.tag == \"Card\" and obj.is_face_down then\r\n local notes = JSON.decode(obj.getGMNotes())\r\n if notes ~= nil and notes.type == \"Minicard\" and (notes.id == miniId or notes.id == \"09080-m\") then\r\n obj.flip()\r\n end\r\n end\r\n end\r\n end\r\n\r\n -- gain a resource (or two if playing Jenny Barnes)\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"02003\" then\r\n gainResources(2)\r\n printToColor(\"Gaining 2 resources (Jenny)\", messageColor)\r\n else\r\n gainResources(1)\r\n end\r\n\r\n -- draw a card (with handling for Patrice and Forced Learning)\r\n if activeInvestigatorId == \"06005\" then\r\n if forcedLearning then\r\n printToColor(\"Wow, did you really take 'Versatile' to play Patrice with 'Forced Learning'? Choose which draw replacement effect takes priority and draw cards accordingly.\", messageColor)\r\n else\r\n local handSize = #Player[playerColor].getHandObjects()\r\n if handSize < 5 then\r\n local cardsToDraw = 5 - handSize\r\n printToColor(\"Drawing \" .. cardsToDraw .. \" cards (Patrice)\", messageColor)\r\n drawCardsWithReshuffle(cardsToDraw)\r\n end\r\n end\r\n elseif forcedLearning then\r\n printToColor(\"Drawing 2 cards, discard 1 (Forced Learning)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n elseif activeInvestigatorId == \"89001\" then\r\n printToColor(\"Drawing 2 cards (Subject 5U-21)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n else\r\n drawCardsWithReshuffle(1)\r\n end\r\nend\r\n\r\n-- adds the specified amount of resources to the resource counter\r\nfunction gainResources(amount)\r\n local count = RESOURCE_COUNTER.getVar(\"val\")\r\n local add = tonumber(amount) or 0\r\n RESOURCE_COUNTER.call(\"updateVal\", count + add)\r\nend\r\n\r\n-- function for \"draw 1 button\" (that can be added via option panel)\r\nfunction doDrawOne(_, color)\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or color\r\n drawCardsWithReshuffle(1)\r\nend\r\n\r\n-- draw X cards (shuffle discards if necessary)\r\nfunction drawCardsWithReshuffle(numCards)\r\n getDrawDiscardDecks()\r\n\r\n -- Norman Withers handling\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" then\r\n local harbinger = false\r\n if topCard ~= nil and topCard.getName() == \"The Harbinger\" then harbinger = true\r\n elseif drawDeck ~= nil and not drawDeck.is_face_down then\r\n local cards = drawDeck.getObjects()\r\n if cards[#cards].name == \"The Harbinger\" then harbinger = true end\r\n end\r\n\r\n if harbinger then\r\n printToColor(\"The Harbinger is on top of your deck, not drawing cards\", messageColor)\r\n return\r\n end\r\n\r\n if topCard ~= nil then\r\n topCard.deal(numCards, playerColor)\r\n numCards = numCards - 1\r\n if numCards == 0 then return end\r\n end\r\n end\r\n\r\n local deckSize = 1\r\n if drawDeck == nil then\r\n deckSize = 0\r\n elseif drawDeck.tag == \"Deck\" then\r\n deckSize = #drawDeck.getObjects()\r\n end\r\n\r\n if deckSize >= numCards then\r\n drawCards(numCards)\r\n return\r\n end\r\n\r\n drawCards(deckSize)\r\n if discardPile ~= nil then\r\n shuffleDiscardIntoDeck()\r\n Wait.time(|| drawCards(numCards - deckSize), 1)\r\n end\r\n printToColor(\"Take 1 horror (drawing card from empty deck)\", messageColor)\r\nend\r\n\r\n-- get the draw deck and discard pile objects\r\nfunction getDrawDiscardDecks()\r\n drawDeck = nil\r\n discardPile = nil\r\n topCard = nil\r\n\r\n local zone = getObjectFromGUID(zoneID)\r\n if zone == nil then return end\r\n\r\n for _, object in ipairs(zone.getObjects()) do\r\n if object.tag == \"Deck\" or object.tag == \"Card\" then\r\n if self.positionToLocal(object.getPosition()).z > 0.5 then\r\n discardPile = object\r\n -- Norman Withers handling\r\n elseif string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" and object.tag == \"Card\" and not object.is_face_down then\r\n topCard = object\r\n else\r\n drawDeck = object\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction drawCards(numCards)\r\n if drawDeck == nil then return end\r\n drawDeck.deal(numCards, playerColor)\r\nend\r\n\r\nfunction shuffleDiscardIntoDeck()\r\n if not discardPile.is_face_down then discardPile.flip() end\r\n discardPile.shuffle()\r\n discardPile.setPositionSmooth(self.positionToWorld(DRAW_DECK_POSITION), false, false)\r\n drawDeck = discardPile\r\n discardPile = nil\r\nend\r\n\r\n-- discard a random non-hidden card from hand\r\nfunction doDiscardOne()\r\n local hand = Player[playerColor].getHandObjects()\r\n if #hand == 0 then\r\n broadcastToAll(\"Cannot discard from empty hand!\", \"Red\")\r\n else\r\n local choices = {}\r\n for i = 1, #hand do\r\n local notes = JSON.decode(hand[i].getGMNotes())\r\n if notes ~= nil then\r\n if notes.hidden ~= true then\r\n table.insert(choices, i)\r\n end\r\n else\r\n table.insert(choices, i)\r\n end\r\n end\r\n\r\n if #choices == 0 then\r\n broadcastToAll(\"Hidden cards can't be randomly discarded.\", \"Orange\")\r\n return\r\n end\r\n\r\n -- get a random non-hidden card (from the \"choices\" table)\r\n local num = math.random(1, #choices)\r\n hand[choices[num]].setPosition(returnGlobalDiscardPosition())\r\n broadcastToAll(playerColor .. \" randomly discarded card \" .. choices[num] .. \"/\" .. #hand .. \".\", \"White\")\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- color related functions\r\n---------------------------------------------------------\r\n\r\n-- changes the player color\r\nfunction changeColor(clickedByColor)\r\n local colorList = {\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 }\r\n\r\n -- remove existing colors from the list of choices\r\n for _, existingColor in ipairs(Player.getAvailableColors()) do\r\n for i, newColor in ipairs(colorList) do\r\n if existingColor == newColor then\r\n table.remove(colorList, i)\r\n end\r\n end\r\n end\r\n\r\n -- show the option dialog for color selection to the player that triggered this\r\n Player[clickedByColor].showOptionsDialog(\"Select a new color:\", colorList, _, function(color)\r\n local HAND_ZONE_GUIDS = {\r\n \"a70eee\", -- White\r\n \"5fe087\", -- Orange\r\n \"0285cc\", -- Green\r\n \"be2f17\" -- Red\r\n }\r\n local index\r\n local startPos = self.getPosition()\r\n\r\n -- get respective hand zone by position\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n index = 1\r\n else\r\n index = 2\r\n end\r\n else\r\n if startPos.z > 0 then\r\n index = 3\r\n else\r\n index = 4\r\n end\r\n end\r\n\r\n -- update the color of the hand zone\r\n local handZone = getObjectFromGUID(HAND_ZONE_GUIDS[index])\r\n handZone.setValue(color)\r\n\r\n -- if the seated player clicked this, reseat him to the new color\r\n if clickedByColor == playerColor then\r\n navigationOverlayApi.copyVisibility(playerColor, color)\r\n Player[playerColor].changeColor(color)\r\n end\r\n\r\n -- update the internal variable\r\n playerColor = color\r\n end)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- playmat token spawning\r\n---------------------------------------------------------\r\n\r\n-- Finds all customizable cards in this play area and updates their metadata based on the selections\r\n-- on the matching upgrade sheet.\r\n-- This method is theoretically O(n^2), and should be used sparingly. In practice it will only be\r\n-- called when a checkbox is added or removed in-game (which should be rare), and is bounded by the\r\n-- number of customizable cards in play.\r\nfunction syncAllCustomizableCards()\r\n for _, card in ipairs(findCardsAroundSelf()) do\r\n syncCustomizableMetadata(card)\r\n end\r\nend\r\n\r\nfunction syncCustomizableMetadata(card)\r\n local cardMetadata = JSON.decode(card.getGMNotes()) or { }\r\n if cardMetadata == nil or cardMetadata.customizations == nil then\r\n return\r\n end\r\n for _, upgradeSheet in ipairs(findCardsAroundSelf()) do\r\n local upgradeSheetMetadata = JSON.decode(upgradeSheet.getGMNotes()) or { }\r\n if upgradeSheetMetadata.id == (cardMetadata.id .. \"-c\") then\r\n for i, customization in ipairs(cardMetadata.customizations) do\r\n if customization.replaces ~= nil and customization.replaces.uses ~= nil then\r\n -- Allowed use of call(), no APIs for individual cards\r\n if upgradeSheet.call(\"isUpgradeActive\", i) then\r\n cardMetadata.uses = customization.replaces.uses\r\n card.setGMNotes(JSON.encode(cardMetadata))\r\n else\r\n -- TODO: Get the original metadata to restore it... maybe. This should only be\r\n -- necessary in the very unlikely case that a user un-checks a previously-full upgrade\r\n -- row while the card is in play. It will be much easier once the AllPlayerCardsApi is\r\n -- in place, so defer until it is\r\n end\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction spawnTokensFor(object)\r\n local extraUses = { }\r\n if activeInvestigatorId == \"03004\" then\r\n extraUses[\"Charge\"] = 1\r\n end\r\n\r\n tokenManager.spawnForCard(object, extraUses)\r\nend\r\n\r\nfunction onCollisionEnter(collision_info)\r\n local object = collision_info.collision_object\r\n\r\n -- detect if \"Dream-Enhancing Serum\" is placed\r\n if object.getName() == \"Dream-Enhancing Serum\" then isDES = true end\r\n\r\n -- only continue if loading is completed\r\n if not collisionEnabled then return end\r\n\r\n -- only continue for cards\r\n if object.name ~= \"Card\" and object.name ~= \"CardCustom\" then return end\r\n\r\n maybeUpdateActiveInvestigator(object)\r\n syncCustomizableMetadata(object)\r\n\r\n if isInDeckZone(object) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(object)\r\n elseif shouldSpawnTokens(object) then\r\n spawnTokensFor(object)\r\n end\r\nend\r\n\r\n-- detect if \"Dream-Enhancing Serum\" is removed\r\nfunction onCollisionExit(collision_info)\r\n if collision_info.collision_object.getName() == \"Dream-Enhancing Serum\" then isDES = false end\r\nend\r\n\r\n-- checks if tokens should be spawned for the provided card\r\nfunction shouldSpawnTokens(card)\r\n if card.is_face_down then\r\n return false\r\n end\r\n\r\n local localCardPos = self.positionToLocal(card.getPosition())\r\n local metadata = JSON.decode(card.getGMNotes())\r\n\r\n -- If no metadata we don't know the type, so only spawn in the main area\r\n if metadata == nil then\r\n return inArea(localCardPos, MAIN_PLAY_AREA)\r\n end\r\n\r\n -- Spawn tokens for assets and events on the main area\r\n if inArea(localCardPos, MAIN_PLAY_AREA)\r\n and (metadata.type == \"Asset\"\r\n or metadata.type == \"Event\") then\r\n return true\r\n end\r\n\r\n -- Spawn tokens for all encounter types in the threat area\r\n if inArea(localCardPos, THREAT_AREA)\r\n and (metadata.type == \"Treachery\"\r\n or metadata.type == \"Enemy\"\r\n or metadata.weakness) then\r\n return true\r\n end\r\n\r\n return false\r\nend\r\n\r\nfunction onObjectEnterContainer(container, object)\r\n Wait.frames(function() resetTokensIfInDeckZone(container, object) end, 1)\r\nend\r\n\r\nfunction resetTokensIfInDeckZone(container, object)\r\n if isInDeckZone(container) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(container)\r\n end\r\nend\r\n\r\n-- checks if an object is in this mats deckzone\r\nfunction isInDeckZone(checkObject)\r\n local deckZone = getObjectFromGUID(zoneID)\r\n if deckZone == nil then\r\n return false\r\n end\r\n\r\n for _, obj in ipairs(deckZone.getObjects()) do\r\n if obj == checkObject then\r\n return true\r\n end\r\n end\r\n\r\n return false\r\nend\r\n\r\n-- removes tokens from the provided card/deck\r\nfunction removeTokensFromObject(object)\r\n for _, v in ipairs(searchArea(object.getPosition(), { 3, 1, 4 })) do\r\n local obj = v.hit_object\r\n\r\n if obj.getGUID() ~= \"4ee1f2\" and -- table\r\n obj ~= self and\r\n obj.type ~= \"Deck\" and\r\n obj.type ~= \"Card\" and\r\n obj.memo ~= nil and\r\n obj.getLock() == false and\r\n obj.getDescription() ~= \"Action Token\" and\r\n not tokenChecker.isChaosToken(obj) then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- investigator ID grabbing and skill tracker\r\n---------------------------------------------------------\r\n\r\nfunction maybeUpdateActiveInvestigator(card)\r\n if not inArea(self.positionToLocal(card.getPosition()), INVESTIGATOR_AREA) then return end\r\n\r\n local notes = JSON.decode(card.getGMNotes())\r\n local class\r\n\r\n if notes ~= nil and notes.type == \"Investigator\" and notes.id ~= nil then\r\n if notes.id == activeInvestigatorId then return end\r\n class = notes.class\r\n activeInvestigatorId = notes.id\r\n STAT_TRACKER.call(\"updateStats\", {notes.willpowerIcons, notes.intellectIcons, notes.combatIcons, notes.agilityIcons})\r\n elseif activeInvestigatorId ~= \"00000\" then\r\n class = \"Neutral\"\r\n activeInvestigatorId = \"00000\"\r\n STAT_TRACKER.call(\"updateStats\", {1, 1, 1, 1})\r\n else\r\n return\r\n end\r\n\r\n -- change state of action tokens\r\n local search = searchArea(self.positionToWorld({-1.1, 0.05, -0.27}), {4, 1, 1})\r\n local smallToken = nil\r\n local STATE_TABLE = {\r\n [\"Guardian\"] = 1,\r\n [\"Seeker\"] = 2,\r\n [\"Rogue\"] = 3,\r\n [\"Mystic\"] = 4,\r\n [\"Survivor\"] = 5,\r\n [\"Neutral\"] = 6\r\n }\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.getStateId() > 0 then\r\n if obj.getScale().x < 0.4 then\r\n smallToken = obj\r\n else\r\n setObjectState(obj, STATE_TABLE[class])\r\n end\r\n end\r\n end\r\n\r\n -- update the small token with special action for certain investigators\r\n local SPECIAL_ACTIONS = {\r\n [\"04002\"] = 8, -- Ursula Downs\r\n [\"01002\"] = 9, -- Daisy Walker\r\n [\"01502\"] = 9, -- Daisy Walker\r\n [\"01002-pb\"] = 9, -- Daisy Walker\r\n [\"06003\"] = 10, -- Tony Morgan\r\n [\"04003\"] = 11, -- Finn Edwards\r\n [\"08016\"] = 14 -- Bob Jenkins\r\n }\r\n\r\n if smallToken ~= nil then\r\n setObjectState(smallToken, SPECIAL_ACTIONS[activeInvestigatorId] or STATE_TABLE[class])\r\n end\r\nend\r\n\r\nfunction setObjectState(obj, stateId)\r\n if obj.getStateId() ~= stateId then obj.setState(stateId) end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- calls to 'Global' / functions for calls from outside\r\n---------------------------------------------------------\r\n\r\nfunction drawChaosTokenButton(_, _, isRightClick)\r\n Global.call(\"drawChaosToken\", {self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick})\r\nend\r\n\r\nfunction drawEncountercard(_, _, isRightClick)\r\n Global.call(\"drawEncountercard\", {self.positionToWorld(DRAWN_ENCOUNTER_CARD_OFFSET), self.getRotation(), isRightClick})\r\nend\r\n\r\nfunction returnGlobalDiscardPosition()\r\n return self.positionToWorld(DISCARD_PILE_POSITION)\r\nend\r\n\r\n-- Sets this playermat's draw 1 button to visible\r\n---@param visible Boolean. Whether the draw 1 button should be visible\r\nfunction showDrawButton(visible)\r\n isDrawButtonVisible = visible\r\n\r\n -- create the \"Draw 1\" button\r\n if isDrawButtonVisible then\r\n self.createButton({\r\n label = \"Draw 1\",\r\n click_function = \"doDrawOne\",\r\n function_owner = self,\r\n position = { 1.84, 0.1, -0.36 },\r\n scale = { 0.12, 0.12, 0.12 },\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- remove the \"Draw 1\" button\r\n else\r\n local buttons = self.getButtons()\r\n for i = 1, #buttons do\r\n if buttons[i].label == \"Draw 1\" then\r\n self.removeButton(buttons[i].index)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Spawns / destroys a clickable clue counter for this playmat with the correct amount of clues\r\n---@param showCounter Boolean Whether the clickable clue counter should be present\r\nfunction clickableClues(showCounter)\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n local clickerPos = CLUE_CLICKER.getPosition()\r\n local clueCount = 0\r\n\r\n if showCounter then\r\n -- current clue count\r\n clueCount = CLUE_COUNTER.getVar(\"exposedValue\")\r\n\r\n -- remove clues\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n\r\n -- set value for clue clickers\r\n CLUE_CLICKER.call(\"updateVal\", clueCount)\r\n\r\n -- move clue counters up\r\n clickerPos.y = 1.52\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n else\r\n -- current clue count\r\n clueCount = CLUE_CLICKER.getVar(\"val\")\r\n\r\n -- move clue counters down\r\n clickerPos.y = 1.3\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n\r\n -- spawn clues\r\n local pos = self.positionToWorld({x = -1.12, y = 0.05, z = 0.7})\r\n for i = 1, clueCount do\r\n pos.y = pos.y + 0.045 * i\r\n tokenManager.spawnToken(pos, \"clue\", self.getRotation())\r\n end\r\n end\r\nend\r\n\r\n-- removes all clues (moving tokens to the trash and setting counters to 0)\r\nfunction removeClues()\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n CLUE_CLICKER.call(\"updateVal\", 0)\r\nend\r\n\r\n-- reports the clue count\r\n---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\nfunction getClueCount(useClickableCounters)\r\n local count = 0\r\n\r\n if useClickableCounters then\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n count = tonumber(CLUE_CLICKER.getVar(\"val\"))\r\n else\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n count = tonumber(CLUE_COUNTER.getVar(\"exposedValue\"))\r\n end\r\n return count\r\nend\r\n\r\n-- Sets this playermat's snap points to limit snapping to matching card types or not. If matchTypes\r\n-- is true, the main card slot snap points will only snap assets, while the investigator area point\r\n-- will only snap Investigators. If matchTypes is false, snap points will be reset to snap all\r\n-- cards.\r\n---@param matchTypes Boolean. Whether snap points should only snap for the matching card types.\r\nfunction setLimitSnapsByType(matchTypes)\r\n local snaps = self.getSnapPoints()\r\n for i, snap in ipairs(snaps) do\r\n local snapPos = snap.position\r\n if inArea(snapPos, MAIN_PLAY_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Asset\" }\r\n else\r\n table.insert(snaps[i].tags, \"Asset\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n if inArea(snapPos, INVESTIGATOR_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Investigator\" }\r\n else\r\n table.insert(snaps[i].tags, \"Investigator\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n end\r\n self.setSnapPoints(snaps)\r\nend\r\n\r\n-- Simple method to check if the given point is in a specified area. Local use only,\r\n---@param point Vector. Point to check, only x and z values are relevant\r\n---@param bounds Table. Defined area to see if the point is within. See MAIN_PLAY_AREA for sample\r\n-- bounds definition.\r\n---@return Boolean. True if the point is in the area defined by bounds\r\nfunction inArea(point, bounds)\r\n return (point.x < bounds.upperLeft.x\r\n and point.x > bounds.lowerRight.x\r\n and point.z < bounds.upperLeft.z\r\n and point.z > bounds.lowerRight.z)\r\nend\r\n\r\n-- called by custom data helpers to add player card data\r\n---@param args table Contains only one entry, the GUID of the custom data helper\r\nfunction updatePlayerCards(args)\r\n local customDataHelper = getObjectFromGUID(args[1])\r\n local playerCardData = customDataHelper.getTable(\"PLAYER_CARD_DATA\")\r\n tokenManager.addPlayerCardData(playerCardData)\r\nend\r\n\r\n-- utility function for rounding\r\n---@param num Number Initial value\r\n---@param numDecimalPlaces Number Amount of decimal places\r\nfunction round(num, numDecimalPlaces)\r\n local mult = 10^(numDecimalPlaces or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\nend)\n__bundle_register(\"core/NavigationOverlayApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local NavigationOverlayApi = {}\r\n local HANDLER_GUID = \"797ede\"\r\n\r\n -- Copies the visibility for the Navigation overlay\r\n ---@param startColor String Color of the player to copy from\r\n ---@param targetColor String Color of the targeted player\r\n NavigationOverlayApi.copyVisibility = function(startColor, targetColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"copyVisibility\", {\r\n startColor = startColor,\r\n targetColor = targetColor\r\n })\r\n end\r\n\r\n -- Changes the Navigation Overlay view (\"Full View\" --> \"Play Areas\" --> \"Closed\" etc.)\r\n ---@param playerColor String Color of the player to update the visibility for\r\n NavigationOverlayApi.cycleVisibility = function(playerColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"cycleVisibility\", playerColor)\r\n end\r\n\r\n return NavigationOverlayApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"activeInvestigatorId\":\"00000\",\"isDrawButtonVisible\":false,\"playerColor\":\"Red\",\"zoneID\":\"18538f\"}", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": 0.118 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.865, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.18, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.36, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.631, - "y": 0.1, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.616, - "y": 0.102, - "z": 0.024 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.177, - "y": 0.101, - "z": 0.032 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.174, - "y": 0.099, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.212, - "y": 0.1, - "z": 0.559 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.217, - "y": 0.1, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.602, - "y": 0.1, - "z": 0.033 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.605, - "y": 0.1, - "z": 0.555 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.977, - "y": 0.099, - "z": 0.556 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.98, - "y": 0.099, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.1, - "z": 0.038 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.099, - "z": 0.558 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.754, - "y": 0.1, - "z": 0.563 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.758, - "y": 0.101, - "z": 0.04 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.61 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.177, - "y": 0.1, - "z": 0.0 - }, - "Tags": [ - "Investigator" - ] - }, - { - "Position": { - "x": 1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - } - ] - }, - { - "GUID": "383d8b", - "Name": "Custom_Tile", - "Transform": { - "posX": -30.35, - "posY": 1.45, - "posZ": 26.6, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 6.43, - "scaleY": 1.0, - "scaleZ": 6.43 - }, - "Nickname": "Playermat 3: Green", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037357630681963618/E7271737B19CE0BFAAA382BEEEF497FE3E06ECC1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\n---------------------------------------------------------\n-- specific setup (different for each playmat)\n---------------------------------------------------------\n\nTRASHCAN_GUID = \"5f896a\"\nSTAT_TRACKER_GUID = \"af7ed7\"\nRESOURCE_COUNTER_GUID = \"cd15ac\"\nCLUE_COUNTER_GUID = \"032300\"\nCLUE_CLICKER_GUID = \"891403\"\n\nrequire(\"playermat/Playmat\")\nend)\n__bundle_register(\"playermat/Playmat\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\nlocal navigationOverlayApi = require(\"core/NavigationOverlayApi\")\r\n\r\n-- set true to enable debug logging and show Physics.cast()\r\nlocal DEBUG = false\r\n\r\n-- we use this to turn off collision handling until onLoad() is complete\r\nlocal collisionEnabled = false\r\n\r\n-- position offsets relative to mat [x, y, z]\r\nlocal DRAWN_ENCOUNTER_CARD_OFFSET = {1.365, 0.5, -0.625}\r\nlocal DRAWN_CHAOS_TOKEN_OFFSET = {-1.55, 0.25, -0.58}\r\n\r\n-- x-Values for discard buttons\r\nlocal DISCARD_BUTTON_OFFSETS = {-1.365, -0.91, -0.455, 0, 0.455, 0.91}\r\n\r\nlocal SEARCH_AROUND_SELF_X_BUFFER = 8\r\n\r\n-- defined areas for the function \"inArea()\"\"\r\nlocal MAIN_PLAY_AREA = {\r\n upperLeft = {\r\n x = 1.98,\r\n z = 0.736,\r\n },\r\n lowerRight = {\r\n x = -0.79,\r\n z = -0.39,\r\n }\r\n}\r\nlocal INVESTIGATOR_AREA = {\r\n upperLeft = {\r\n x = -1.084,\r\n z = 0.06517\r\n },\r\n lowerRight = {\r\n x = -1.258,\r\n z = -0.0805,\r\n }\r\n}\r\nlocal THREAT_AREA = {\r\n upperLeft = {\r\n x = 1.53,\r\n z = -0.34\r\n },\r\n lowerRight = {\r\n x = -1.13,\r\n z = -0.92,\r\n }\r\n}\r\n\r\nlocal DRAW_DECK_POSITION = { x = -1.82, y = 1, z = 0 }\r\nlocal DISCARD_PILE_POSITION = { x = -1.82, y = 1.5, z = 0.61 }\r\n\r\nlocal TRASHCAN\r\nlocal STAT_TRACKER\r\nlocal RESOURCE_COUNTER\r\n\r\n-- global variable so it can be reset by the Clean Up Helper\r\nactiveInvestigatorId = \"00000\"\r\nlocal isDrawButtonVisible = false\r\n\r\n-- global variable to report \"Dream-Enhancing Serum\" status\r\nisDES = false\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n zoneID = zoneID,\r\n playerColor = playerColor,\r\n activeInvestigatorId = activeInvestigatorId,\r\n isDrawButtonVisible = isDrawButtonVisible\r\n })\r\nend\r\n\r\nfunction onLoad(save_state)\r\n self.interactable = DEBUG\r\n\r\n TRASHCAN = getObjectFromGUID(TRASHCAN_GUID)\r\n STAT_TRACKER = getObjectFromGUID(STAT_TRACKER_GUID)\r\n RESOURCE_COUNTER = getObjectFromGUID(RESOURCE_COUNTER_GUID)\r\n\r\n -- button creation\r\n for i = 1, 6 do\r\n makeDiscardButton(DISCARD_BUTTON_OFFSETS[i], {-3.85, 3, 10.38}, i)\r\n end\r\n\r\n self.createButton({\r\n click_function = \"drawEncountercard\",\r\n function_owner = self,\r\n position = {-1.84, 0, -0.65},\r\n rotation = {0, 80, 0},\r\n width = 265,\r\n height = 190\r\n })\r\n\r\n self.createButton({\r\n click_function = \"drawChaosTokenButton\",\r\n function_owner = self,\r\n position = {1.85, 0, -0.74},\r\n rotation = {0, -45, 0},\r\n width = 135,\r\n height = 135\r\n })\r\n\r\n self.createButton({\r\n label = \"Upkeep\",\r\n click_function = \"doUpkeep\",\r\n function_owner = self,\r\n position = {1.84, 0.1, -0.44},\r\n scale = {0.12, 0.12, 0.12},\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- save state loading\r\n local state = JSON.decode(save_state)\r\n if state ~= nil then\r\n zoneID = state.zoneID\r\n playerColor = state.playerColor\r\n activeInvestigatorId = state.activeInvestigatorId\r\n isDrawButtonVisible = state.isDrawButtonVisible\r\n end\r\n\r\n showDrawButton(isDrawButtonVisible)\r\n\r\n if getObjectFromGUID(zoneID) == nil then spawnDeckZone() end\r\n collisionEnabled = true\r\n\r\n math.randomseed(os.time())\r\nend\r\n\r\n---------------------------------------------------------\r\n-- utility functions\r\n---------------------------------------------------------\r\n\r\nfunction spawnDeckZone()\r\n spawnObject({\r\n position = self.positionToWorld({-1.4, 0, 0.3 }),\r\n scale = {3, 5, 8 },\r\n type = 'ScriptingTrigger',\r\n callback = function (zone) zoneID = zone.getGUID() end,\r\n callback_owner = self,\r\n rotation = self.getRotation()\r\n })\r\nend\r\n\r\nfunction searchArea(origin, size)\r\n return Physics.cast({\r\n origin = origin,\r\n direction = {0, 1, 0},\r\n orientation = self.getRotation(),\r\n type = 3,\r\n size = size,\r\n max_distance = 1,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n-- Finds all objects on the playmat and associated set aside zone.\r\nfunction searchAroundSelf()\r\n local bounds = self.getBoundsNormalized()\r\n -- Increase the width to cover the set aside zone\r\n bounds.size.x = bounds.size.x + SEARCH_AROUND_SELF_X_BUFFER\r\n -- Since the cast is centered on the position, shift left or right to keep the non-set aside edge\r\n -- of the cast at the edge of the playmat\r\n -- setAsideDirection accounts for the set aside zone being on the left or right, depending on the\r\n -- table position of the playmat\r\n local setAsideDirection = bounds.center.z > 0 and 1 or -1\r\n local localCenter = self.positionToLocal(bounds.center)\r\n localCenter.x = localCenter.x\r\n + setAsideDirection * SEARCH_AROUND_SELF_X_BUFFER / 2 / self.getScale().x\r\n\r\n return searchArea(self.positionToWorld(localCenter), bounds.size)\r\nend\r\n\r\nfunction findCardsAroundSelf()\r\n local cards = { }\r\n for _, collision in ipairs(searchAroundSelf()) do\r\n local obj = collision.hit_object\r\n if obj.name == \"Card\" or obj.name == \"CardCustom\" then\r\n table.insert(cards, obj)\r\n end\r\n end\r\n\r\n return cards\r\nend\r\n\r\nfunction doNotReady(card)\r\n return card.getVar(\"do_not_ready\") or false\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Discard buttons\r\n---------------------------------------------------------\r\n\r\n-- builds a function that discards things in searchPosition to discardPosition\r\n-- stuff on the card/deck will be put into the local trashcan\r\nfunction makeDiscardHandlerFor(searchPosition, discardPosition)\r\n return function ()\r\n for _, hitObj in ipairs(findObjectsAtPosition(searchPosition)) do\r\n local obj = hitObj.hit_object\r\n if obj.tag == \"Deck\" or obj.tag == \"Card\" then\r\n if obj.hasTag(\"PlayerCard\") then\r\n obj.setPositionSmooth(self.positionToWorld(DISCARD_PILE_POSITION), false, true)\r\n obj.setRotation(self.getRotation())\r\n else\r\n obj.setPositionSmooth(discardPosition, false, true)\r\n obj.setRotation({0, -90, 0})\r\n end\r\n -- put chaos tokens back into bag (e.g. Unrelenting)\r\n elseif tokenChecker.isChaosToken(obj) then\r\n local chaosBag = Global.call(\"findChaosBag\")\r\n chaosBag.putObject(obj)\r\n -- don't touch the table or this playmat itself\r\n elseif obj.guid ~= \"4ee1f2\" and obj ~= self then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- build a discard button to discard from searchPosition to discardPosition (number must be unique)\r\nfunction makeDiscardButton(xValue, discardPosition, number)\r\n local position = { xValue, 0.1, -0.94}\r\n local searchPosition = {-position[1], position[2], position[3] + 0.32}\r\n local handler = makeDiscardHandlerFor(searchPosition, discardPosition)\r\n local handlerName = 'handler' .. number\r\n self.setVar(handlerName, handler)\r\n self.createButton({\r\n label = \"Discard\",\r\n click_function = handlerName,\r\n function_owner = self,\r\n position = position,\r\n scale = {0.12, 0.12, 0.12},\r\n width = 900,\r\n height = 350,\r\n font_size = 220\r\n })\r\nend\r\n\r\nfunction findObjectsAtPosition(localPos)\r\n return Physics.cast({\r\n origin = self.positionToWorld(localPos),\r\n direction = {0, 1, 0},\r\n orientation = {0, self.getRotation().y + 90, 0},\r\n type = 3,\r\n size = {3.2, 1, 2},\r\n max_distance = 0,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Upkeep button\r\n---------------------------------------------------------\r\n\r\n-- calls the Upkeep function with correct parameter\r\nfunction doUpkeepFromHotkey(color)\r\n doUpkeep(_, color)\r\nend\r\n\r\nfunction doUpkeep(_, clickedByColor, isRightClick)\r\n -- right-click allow color changing\r\n if isRightClick then\r\n changeColor(clickedByColor)\r\n return\r\n end\r\n\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or clickedByColor\r\n\r\n -- unexhaust cards in play zone, flip action tokens and find forcedLearning\r\n local forcedLearning = false\r\n local rot = self.getRotation()\r\n for _, v in ipairs(searchAroundSelf()) do\r\n local obj = v.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.is_face_down then\r\n obj.flip()\r\n elseif obj.tag == \"Card\" and not inArea(self.positionToLocal(obj.getPosition()), INVESTIGATOR_AREA) then\r\n local cardMetadata = JSON.decode(obj.getGMNotes()) or {}\r\n if not doNotReady(obj) then\r\n local cardRotation = round(obj.getRotation().y, 0) - rot.y\r\n local yRotDiff = 0\r\n\r\n if cardRotation < 0 then\r\n cardRotation = cardRotation + 360\r\n end\r\n\r\n -- rotate cards to the next multiple of 90° towards 0°\r\n if cardRotation > 90 and cardRotation <= 180 then\r\n yRotDiff = 90\r\n elseif cardRotation < 270 and cardRotation > 180 then\r\n yRotDiff = 270\r\n end\r\n\r\n -- set correct rotation for face-down cards\r\n rot.z = obj.is_face_down and 180 or 0\r\n obj.setRotation({rot.x, rot.y + yRotDiff, rot.z})\r\n end\r\n if cardMetadata.id == \"08031\" then\r\n forcedLearning = true\r\n end\r\n if cardMetadata.uses ~= nil then\r\n tokenManager.maybeReplenishCard(obj, cardMetadata.uses, self)\r\n end\r\n end\r\n end\r\n\r\n -- flip investigator mini-card and summoned servitor mini-card\r\n -- (all characters allowed to account for custom IDs - e.g. 'Z0000' for TTS Zoop generated IDs)\r\n if activeInvestigatorId ~= nil then\r\n local miniId = string.match(activeInvestigatorId, \".....\") .. \"-m\"\r\n for _, obj in ipairs(getObjects()) do\r\n if obj.tag == \"Card\" and obj.is_face_down then\r\n local notes = JSON.decode(obj.getGMNotes())\r\n if notes ~= nil and notes.type == \"Minicard\" and (notes.id == miniId or notes.id == \"09080-m\") then\r\n obj.flip()\r\n end\r\n end\r\n end\r\n end\r\n\r\n -- gain a resource (or two if playing Jenny Barnes)\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"02003\" then\r\n gainResources(2)\r\n printToColor(\"Gaining 2 resources (Jenny)\", messageColor)\r\n else\r\n gainResources(1)\r\n end\r\n\r\n -- draw a card (with handling for Patrice and Forced Learning)\r\n if activeInvestigatorId == \"06005\" then\r\n if forcedLearning then\r\n printToColor(\"Wow, did you really take 'Versatile' to play Patrice with 'Forced Learning'? Choose which draw replacement effect takes priority and draw cards accordingly.\", messageColor)\r\n else\r\n local handSize = #Player[playerColor].getHandObjects()\r\n if handSize < 5 then\r\n local cardsToDraw = 5 - handSize\r\n printToColor(\"Drawing \" .. cardsToDraw .. \" cards (Patrice)\", messageColor)\r\n drawCardsWithReshuffle(cardsToDraw)\r\n end\r\n end\r\n elseif forcedLearning then\r\n printToColor(\"Drawing 2 cards, discard 1 (Forced Learning)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n elseif activeInvestigatorId == \"89001\" then\r\n printToColor(\"Drawing 2 cards (Subject 5U-21)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n else\r\n drawCardsWithReshuffle(1)\r\n end\r\nend\r\n\r\n-- adds the specified amount of resources to the resource counter\r\nfunction gainResources(amount)\r\n local count = RESOURCE_COUNTER.getVar(\"val\")\r\n local add = tonumber(amount) or 0\r\n RESOURCE_COUNTER.call(\"updateVal\", count + add)\r\nend\r\n\r\n-- function for \"draw 1 button\" (that can be added via option panel)\r\nfunction doDrawOne(_, color)\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or color\r\n drawCardsWithReshuffle(1)\r\nend\r\n\r\n-- draw X cards (shuffle discards if necessary)\r\nfunction drawCardsWithReshuffle(numCards)\r\n getDrawDiscardDecks()\r\n\r\n -- Norman Withers handling\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" then\r\n local harbinger = false\r\n if topCard ~= nil and topCard.getName() == \"The Harbinger\" then harbinger = true\r\n elseif drawDeck ~= nil and not drawDeck.is_face_down then\r\n local cards = drawDeck.getObjects()\r\n if cards[#cards].name == \"The Harbinger\" then harbinger = true end\r\n end\r\n\r\n if harbinger then\r\n printToColor(\"The Harbinger is on top of your deck, not drawing cards\", messageColor)\r\n return\r\n end\r\n\r\n if topCard ~= nil then\r\n topCard.deal(numCards, playerColor)\r\n numCards = numCards - 1\r\n if numCards == 0 then return end\r\n end\r\n end\r\n\r\n local deckSize = 1\r\n if drawDeck == nil then\r\n deckSize = 0\r\n elseif drawDeck.tag == \"Deck\" then\r\n deckSize = #drawDeck.getObjects()\r\n end\r\n\r\n if deckSize >= numCards then\r\n drawCards(numCards)\r\n return\r\n end\r\n\r\n drawCards(deckSize)\r\n if discardPile ~= nil then\r\n shuffleDiscardIntoDeck()\r\n Wait.time(|| drawCards(numCards - deckSize), 1)\r\n end\r\n printToColor(\"Take 1 horror (drawing card from empty deck)\", messageColor)\r\nend\r\n\r\n-- get the draw deck and discard pile objects\r\nfunction getDrawDiscardDecks()\r\n drawDeck = nil\r\n discardPile = nil\r\n topCard = nil\r\n\r\n local zone = getObjectFromGUID(zoneID)\r\n if zone == nil then return end\r\n\r\n for _, object in ipairs(zone.getObjects()) do\r\n if object.tag == \"Deck\" or object.tag == \"Card\" then\r\n if self.positionToLocal(object.getPosition()).z > 0.5 then\r\n discardPile = object\r\n -- Norman Withers handling\r\n elseif string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" and object.tag == \"Card\" and not object.is_face_down then\r\n topCard = object\r\n else\r\n drawDeck = object\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction drawCards(numCards)\r\n if drawDeck == nil then return end\r\n drawDeck.deal(numCards, playerColor)\r\nend\r\n\r\nfunction shuffleDiscardIntoDeck()\r\n if not discardPile.is_face_down then discardPile.flip() end\r\n discardPile.shuffle()\r\n discardPile.setPositionSmooth(self.positionToWorld(DRAW_DECK_POSITION), false, false)\r\n drawDeck = discardPile\r\n discardPile = nil\r\nend\r\n\r\n-- discard a random non-hidden card from hand\r\nfunction doDiscardOne()\r\n local hand = Player[playerColor].getHandObjects()\r\n if #hand == 0 then\r\n broadcastToAll(\"Cannot discard from empty hand!\", \"Red\")\r\n else\r\n local choices = {}\r\n for i = 1, #hand do\r\n local notes = JSON.decode(hand[i].getGMNotes())\r\n if notes ~= nil then\r\n if notes.hidden ~= true then\r\n table.insert(choices, i)\r\n end\r\n else\r\n table.insert(choices, i)\r\n end\r\n end\r\n\r\n if #choices == 0 then\r\n broadcastToAll(\"Hidden cards can't be randomly discarded.\", \"Orange\")\r\n return\r\n end\r\n\r\n -- get a random non-hidden card (from the \"choices\" table)\r\n local num = math.random(1, #choices)\r\n hand[choices[num]].setPosition(returnGlobalDiscardPosition())\r\n broadcastToAll(playerColor .. \" randomly discarded card \" .. choices[num] .. \"/\" .. #hand .. \".\", \"White\")\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- color related functions\r\n---------------------------------------------------------\r\n\r\n-- changes the player color\r\nfunction changeColor(clickedByColor)\r\n local colorList = {\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 }\r\n\r\n -- remove existing colors from the list of choices\r\n for _, existingColor in ipairs(Player.getAvailableColors()) do\r\n for i, newColor in ipairs(colorList) do\r\n if existingColor == newColor then\r\n table.remove(colorList, i)\r\n end\r\n end\r\n end\r\n\r\n -- show the option dialog for color selection to the player that triggered this\r\n Player[clickedByColor].showOptionsDialog(\"Select a new color:\", colorList, _, function(color)\r\n local HAND_ZONE_GUIDS = {\r\n \"a70eee\", -- White\r\n \"5fe087\", -- Orange\r\n \"0285cc\", -- Green\r\n \"be2f17\" -- Red\r\n }\r\n local index\r\n local startPos = self.getPosition()\r\n\r\n -- get respective hand zone by position\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n index = 1\r\n else\r\n index = 2\r\n end\r\n else\r\n if startPos.z > 0 then\r\n index = 3\r\n else\r\n index = 4\r\n end\r\n end\r\n\r\n -- update the color of the hand zone\r\n local handZone = getObjectFromGUID(HAND_ZONE_GUIDS[index])\r\n handZone.setValue(color)\r\n\r\n -- if the seated player clicked this, reseat him to the new color\r\n if clickedByColor == playerColor then\r\n navigationOverlayApi.copyVisibility(playerColor, color)\r\n Player[playerColor].changeColor(color)\r\n end\r\n\r\n -- update the internal variable\r\n playerColor = color\r\n end)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- playmat token spawning\r\n---------------------------------------------------------\r\n\r\n-- Finds all customizable cards in this play area and updates their metadata based on the selections\r\n-- on the matching upgrade sheet.\r\n-- This method is theoretically O(n^2), and should be used sparingly. In practice it will only be\r\n-- called when a checkbox is added or removed in-game (which should be rare), and is bounded by the\r\n-- number of customizable cards in play.\r\nfunction syncAllCustomizableCards()\r\n for _, card in ipairs(findCardsAroundSelf()) do\r\n syncCustomizableMetadata(card)\r\n end\r\nend\r\n\r\nfunction syncCustomizableMetadata(card)\r\n local cardMetadata = JSON.decode(card.getGMNotes()) or { }\r\n if cardMetadata == nil or cardMetadata.customizations == nil then\r\n return\r\n end\r\n for _, upgradeSheet in ipairs(findCardsAroundSelf()) do\r\n local upgradeSheetMetadata = JSON.decode(upgradeSheet.getGMNotes()) or { }\r\n if upgradeSheetMetadata.id == (cardMetadata.id .. \"-c\") then\r\n for i, customization in ipairs(cardMetadata.customizations) do\r\n if customization.replaces ~= nil and customization.replaces.uses ~= nil then\r\n -- Allowed use of call(), no APIs for individual cards\r\n if upgradeSheet.call(\"isUpgradeActive\", i) then\r\n cardMetadata.uses = customization.replaces.uses\r\n card.setGMNotes(JSON.encode(cardMetadata))\r\n else\r\n -- TODO: Get the original metadata to restore it... maybe. This should only be\r\n -- necessary in the very unlikely case that a user un-checks a previously-full upgrade\r\n -- row while the card is in play. It will be much easier once the AllPlayerCardsApi is\r\n -- in place, so defer until it is\r\n end\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction spawnTokensFor(object)\r\n local extraUses = { }\r\n if activeInvestigatorId == \"03004\" then\r\n extraUses[\"Charge\"] = 1\r\n end\r\n\r\n tokenManager.spawnForCard(object, extraUses)\r\nend\r\n\r\nfunction onCollisionEnter(collision_info)\r\n local object = collision_info.collision_object\r\n\r\n -- detect if \"Dream-Enhancing Serum\" is placed\r\n if object.getName() == \"Dream-Enhancing Serum\" then isDES = true end\r\n\r\n -- only continue if loading is completed\r\n if not collisionEnabled then return end\r\n\r\n -- only continue for cards\r\n if object.name ~= \"Card\" and object.name ~= \"CardCustom\" then return end\r\n\r\n maybeUpdateActiveInvestigator(object)\r\n syncCustomizableMetadata(object)\r\n\r\n if isInDeckZone(object) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(object)\r\n elseif shouldSpawnTokens(object) then\r\n spawnTokensFor(object)\r\n end\r\nend\r\n\r\n-- detect if \"Dream-Enhancing Serum\" is removed\r\nfunction onCollisionExit(collision_info)\r\n if collision_info.collision_object.getName() == \"Dream-Enhancing Serum\" then isDES = false end\r\nend\r\n\r\n-- checks if tokens should be spawned for the provided card\r\nfunction shouldSpawnTokens(card)\r\n if card.is_face_down then\r\n return false\r\n end\r\n\r\n local localCardPos = self.positionToLocal(card.getPosition())\r\n local metadata = JSON.decode(card.getGMNotes())\r\n\r\n -- If no metadata we don't know the type, so only spawn in the main area\r\n if metadata == nil then\r\n return inArea(localCardPos, MAIN_PLAY_AREA)\r\n end\r\n\r\n -- Spawn tokens for assets and events on the main area\r\n if inArea(localCardPos, MAIN_PLAY_AREA)\r\n and (metadata.type == \"Asset\"\r\n or metadata.type == \"Event\") then\r\n return true\r\n end\r\n\r\n -- Spawn tokens for all encounter types in the threat area\r\n if inArea(localCardPos, THREAT_AREA)\r\n and (metadata.type == \"Treachery\"\r\n or metadata.type == \"Enemy\"\r\n or metadata.weakness) then\r\n return true\r\n end\r\n\r\n return false\r\nend\r\n\r\nfunction onObjectEnterContainer(container, object)\r\n Wait.frames(function() resetTokensIfInDeckZone(container, object) end, 1)\r\nend\r\n\r\nfunction resetTokensIfInDeckZone(container, object)\r\n if isInDeckZone(container) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(container)\r\n end\r\nend\r\n\r\n-- checks if an object is in this mats deckzone\r\nfunction isInDeckZone(checkObject)\r\n local deckZone = getObjectFromGUID(zoneID)\r\n if deckZone == nil then\r\n return false\r\n end\r\n\r\n for _, obj in ipairs(deckZone.getObjects()) do\r\n if obj == checkObject then\r\n return true\r\n end\r\n end\r\n\r\n return false\r\nend\r\n\r\n-- removes tokens from the provided card/deck\r\nfunction removeTokensFromObject(object)\r\n for _, v in ipairs(searchArea(object.getPosition(), { 3, 1, 4 })) do\r\n local obj = v.hit_object\r\n\r\n if obj.getGUID() ~= \"4ee1f2\" and -- table\r\n obj ~= self and\r\n obj.type ~= \"Deck\" and\r\n obj.type ~= \"Card\" and\r\n obj.memo ~= nil and\r\n obj.getLock() == false and\r\n obj.getDescription() ~= \"Action Token\" and\r\n not tokenChecker.isChaosToken(obj) then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- investigator ID grabbing and skill tracker\r\n---------------------------------------------------------\r\n\r\nfunction maybeUpdateActiveInvestigator(card)\r\n if not inArea(self.positionToLocal(card.getPosition()), INVESTIGATOR_AREA) then return end\r\n\r\n local notes = JSON.decode(card.getGMNotes())\r\n local class\r\n\r\n if notes ~= nil and notes.type == \"Investigator\" and notes.id ~= nil then\r\n if notes.id == activeInvestigatorId then return end\r\n class = notes.class\r\n activeInvestigatorId = notes.id\r\n STAT_TRACKER.call(\"updateStats\", {notes.willpowerIcons, notes.intellectIcons, notes.combatIcons, notes.agilityIcons})\r\n elseif activeInvestigatorId ~= \"00000\" then\r\n class = \"Neutral\"\r\n activeInvestigatorId = \"00000\"\r\n STAT_TRACKER.call(\"updateStats\", {1, 1, 1, 1})\r\n else\r\n return\r\n end\r\n\r\n -- change state of action tokens\r\n local search = searchArea(self.positionToWorld({-1.1, 0.05, -0.27}), {4, 1, 1})\r\n local smallToken = nil\r\n local STATE_TABLE = {\r\n [\"Guardian\"] = 1,\r\n [\"Seeker\"] = 2,\r\n [\"Rogue\"] = 3,\r\n [\"Mystic\"] = 4,\r\n [\"Survivor\"] = 5,\r\n [\"Neutral\"] = 6\r\n }\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.getStateId() > 0 then\r\n if obj.getScale().x < 0.4 then\r\n smallToken = obj\r\n else\r\n setObjectState(obj, STATE_TABLE[class])\r\n end\r\n end\r\n end\r\n\r\n -- update the small token with special action for certain investigators\r\n local SPECIAL_ACTIONS = {\r\n [\"04002\"] = 8, -- Ursula Downs\r\n [\"01002\"] = 9, -- Daisy Walker\r\n [\"01502\"] = 9, -- Daisy Walker\r\n [\"01002-pb\"] = 9, -- Daisy Walker\r\n [\"06003\"] = 10, -- Tony Morgan\r\n [\"04003\"] = 11, -- Finn Edwards\r\n [\"08016\"] = 14 -- Bob Jenkins\r\n }\r\n\r\n if smallToken ~= nil then\r\n setObjectState(smallToken, SPECIAL_ACTIONS[activeInvestigatorId] or STATE_TABLE[class])\r\n end\r\nend\r\n\r\nfunction setObjectState(obj, stateId)\r\n if obj.getStateId() ~= stateId then obj.setState(stateId) end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- calls to 'Global' / functions for calls from outside\r\n---------------------------------------------------------\r\n\r\nfunction drawChaosTokenButton(_, _, isRightClick)\r\n Global.call(\"drawChaosToken\", {self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick})\r\nend\r\n\r\nfunction drawEncountercard(_, _, isRightClick)\r\n Global.call(\"drawEncountercard\", {self.positionToWorld(DRAWN_ENCOUNTER_CARD_OFFSET), self.getRotation(), isRightClick})\r\nend\r\n\r\nfunction returnGlobalDiscardPosition()\r\n return self.positionToWorld(DISCARD_PILE_POSITION)\r\nend\r\n\r\n-- Sets this playermat's draw 1 button to visible\r\n---@param visible Boolean. Whether the draw 1 button should be visible\r\nfunction showDrawButton(visible)\r\n isDrawButtonVisible = visible\r\n\r\n -- create the \"Draw 1\" button\r\n if isDrawButtonVisible then\r\n self.createButton({\r\n label = \"Draw 1\",\r\n click_function = \"doDrawOne\",\r\n function_owner = self,\r\n position = { 1.84, 0.1, -0.36 },\r\n scale = { 0.12, 0.12, 0.12 },\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- remove the \"Draw 1\" button\r\n else\r\n local buttons = self.getButtons()\r\n for i = 1, #buttons do\r\n if buttons[i].label == \"Draw 1\" then\r\n self.removeButton(buttons[i].index)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Spawns / destroys a clickable clue counter for this playmat with the correct amount of clues\r\n---@param showCounter Boolean Whether the clickable clue counter should be present\r\nfunction clickableClues(showCounter)\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n local clickerPos = CLUE_CLICKER.getPosition()\r\n local clueCount = 0\r\n\r\n if showCounter then\r\n -- current clue count\r\n clueCount = CLUE_COUNTER.getVar(\"exposedValue\")\r\n\r\n -- remove clues\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n\r\n -- set value for clue clickers\r\n CLUE_CLICKER.call(\"updateVal\", clueCount)\r\n\r\n -- move clue counters up\r\n clickerPos.y = 1.52\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n else\r\n -- current clue count\r\n clueCount = CLUE_CLICKER.getVar(\"val\")\r\n\r\n -- move clue counters down\r\n clickerPos.y = 1.3\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n\r\n -- spawn clues\r\n local pos = self.positionToWorld({x = -1.12, y = 0.05, z = 0.7})\r\n for i = 1, clueCount do\r\n pos.y = pos.y + 0.045 * i\r\n tokenManager.spawnToken(pos, \"clue\", self.getRotation())\r\n end\r\n end\r\nend\r\n\r\n-- removes all clues (moving tokens to the trash and setting counters to 0)\r\nfunction removeClues()\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n CLUE_CLICKER.call(\"updateVal\", 0)\r\nend\r\n\r\n-- reports the clue count\r\n---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\nfunction getClueCount(useClickableCounters)\r\n local count = 0\r\n\r\n if useClickableCounters then\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n count = tonumber(CLUE_CLICKER.getVar(\"val\"))\r\n else\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n count = tonumber(CLUE_COUNTER.getVar(\"exposedValue\"))\r\n end\r\n return count\r\nend\r\n\r\n-- Sets this playermat's snap points to limit snapping to matching card types or not. If matchTypes\r\n-- is true, the main card slot snap points will only snap assets, while the investigator area point\r\n-- will only snap Investigators. If matchTypes is false, snap points will be reset to snap all\r\n-- cards.\r\n---@param matchTypes Boolean. Whether snap points should only snap for the matching card types.\r\nfunction setLimitSnapsByType(matchTypes)\r\n local snaps = self.getSnapPoints()\r\n for i, snap in ipairs(snaps) do\r\n local snapPos = snap.position\r\n if inArea(snapPos, MAIN_PLAY_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Asset\" }\r\n else\r\n table.insert(snaps[i].tags, \"Asset\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n if inArea(snapPos, INVESTIGATOR_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Investigator\" }\r\n else\r\n table.insert(snaps[i].tags, \"Investigator\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n end\r\n self.setSnapPoints(snaps)\r\nend\r\n\r\n-- Simple method to check if the given point is in a specified area. Local use only,\r\n---@param point Vector. Point to check, only x and z values are relevant\r\n---@param bounds Table. Defined area to see if the point is within. See MAIN_PLAY_AREA for sample\r\n-- bounds definition.\r\n---@return Boolean. True if the point is in the area defined by bounds\r\nfunction inArea(point, bounds)\r\n return (point.x < bounds.upperLeft.x\r\n and point.x > bounds.lowerRight.x\r\n and point.z < bounds.upperLeft.z\r\n and point.z > bounds.lowerRight.z)\r\nend\r\n\r\n-- called by custom data helpers to add player card data\r\n---@param args table Contains only one entry, the GUID of the custom data helper\r\nfunction updatePlayerCards(args)\r\n local customDataHelper = getObjectFromGUID(args[1])\r\n local playerCardData = customDataHelper.getTable(\"PLAYER_CARD_DATA\")\r\n tokenManager.addPlayerCardData(playerCardData)\r\nend\r\n\r\n-- utility function for rounding\r\n---@param num Number Initial value\r\n---@param numDecimalPlaces Number Amount of decimal places\r\nfunction round(num, numDecimalPlaces)\r\n local mult = 10^(numDecimalPlaces or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\nend)\n__bundle_register(\"core/NavigationOverlayApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local NavigationOverlayApi = {}\r\n local HANDLER_GUID = \"797ede\"\r\n\r\n -- Copies the visibility for the Navigation overlay\r\n ---@param startColor String Color of the player to copy from\r\n ---@param targetColor String Color of the targeted player\r\n NavigationOverlayApi.copyVisibility = function(startColor, targetColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"copyVisibility\", {\r\n startColor = startColor,\r\n targetColor = targetColor\r\n })\r\n end\r\n\r\n -- Changes the Navigation Overlay view (\"Full View\" --> \"Play Areas\" --> \"Closed\" etc.)\r\n ---@param playerColor String Color of the player to update the visibility for\r\n NavigationOverlayApi.cycleVisibility = function(playerColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"cycleVisibility\", playerColor)\r\n end\r\n\r\n return NavigationOverlayApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"activeInvestigatorId\":\"00000\",\"isDrawButtonVisible\":false,\"playerColor\":\"Green\",\"zoneID\":\"fb28e1\"}", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": 0.118 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.865, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.18, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.36, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.631, - "y": 0.1, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.616, - "y": 0.102, - "z": 0.024 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.177, - "y": 0.101, - "z": 0.032 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.174, - "y": 0.099, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.212, - "y": 0.1, - "z": 0.559 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.217, - "y": 0.1, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.602, - "y": 0.1, - "z": 0.033 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.605, - "y": 0.1, - "z": 0.555 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.977, - "y": 0.099, - "z": 0.556 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.98, - "y": 0.099, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.1, - "z": 0.038 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.099, - "z": 0.558 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.754, - "y": 0.1, - "z": 0.563 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.758, - "y": 0.101, - "z": 0.04 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.61 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.177, - "y": 0.1, - "z": 0.0 - }, - "Tags": [ - "Investigator" - ] - }, - { - "Position": { - "x": 1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - } - ] - }, - { - "GUID": "652ff3", - "Name": "Custom_Token", - "Transform": { - "posX": -5.3, - "posY": 1.633, - "posZ": 1.8, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Other Doom in Play", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.0, - "b": 0.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "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/949592555964782208/CC876694A6684B3C2680CE2FE3259F574AE0AD97/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/DoomInPlayCounter\")\nend)\n__bundle_register(\"core/DoomInPlayCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- common parameters\r\nlocal castParameters = {}\r\ncastParameters.direction = { 0, 1, 0 }\r\ncastParameters.type = 3\r\ncastParameters.max_distance = 0\r\n\r\nlocal zone\r\nlocal doomURL = \"https://i.imgur.com/EoL7yaZ.png\"\r\nlocal IGNORE_TAG = \"DoomCounter_ignore\"\r\n\r\n-- playermats 1 to 4\r\nlocal originAndSize = {\r\n { origin = { -55, 1.6, 16.5 }, size = { 12, 1, 25 } },\r\n { origin = { -55, 1.6, -16.5 }, size = { 12, 1, 25 } },\r\n { origin = { -25, 1.6, 27 }, size = { 25, 1, 12 } },\r\n { origin = { -25, 1.6, -27 }, size = { 25, 1, 12 } }\r\n}\r\n\r\n-- create button, context menu and start loop\r\nfunction onLoad()\r\n self.createButton({\r\n label = tostring(0),\r\n click_function = \"none\",\r\n function_owner = self,\r\n position = { 0, 0.06, 0 },\r\n height = 0,\r\n width = 0,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n zone = getObjectFromGUID(\"a2f932\")\r\n loopID = Wait.time(countDoom, 2, -1)\r\nend\r\n\r\n-- main function\r\nfunction countDoom()\r\n local doom = 0\r\n for i = 1, 5 do doom = doom + search(i) end\r\n self.editButton({ index = 0, label = tostring(doom) })\r\nend\r\n\r\n-- searches playermats (num = 1-4) or the scripting zone (num = 5)\r\nfunction search(num)\r\n local val = 0\r\n if num == 5 then\r\n for _, obj in ipairs(zone.getObjects()) do\r\n val = val + isDoom(obj)\r\n end\r\n else\r\n castParameters.origin = originAndSize[num].origin\r\n castParameters.size = originAndSize[num].size\r\n\r\n for _, obj in ipairs(Physics.cast(castParameters)) do\r\n val = val + isDoom(obj.hit_object)\r\n end\r\n end\r\n return val\r\nend\r\n\r\n-- checks an object for the doom image and gets quantity (for stacks)\r\nfunction isDoom(obj)\r\n if (obj.is_face_down and obj.getCustomObject().image_bottom == doomURL) or\r\n (obj.name == \"Custom_Token\" and obj.getCustomObject().image == doomURL) then\r\n if not obj.hasTag(IGNORE_TAG) then\r\n return math.abs(obj.getQuantity())\r\n end\r\n end\r\n return 0\r\nend\r\n\r\n-- removes doom from playermats / playarea\r\nfunction removeDoom(options)\r\n local trashCan = getObjectFromGUID(\"70b9f6\")\r\n local count = 0\r\n if options.Playermats then\r\n for i = 1, 4 do\r\n castParameters.origin = originAndSize[i].origin\r\n castParameters.size = originAndSize[i].size\r\n\r\n for _, obj in ipairs(Physics.cast(castParameters)) do\r\n local obj = obj.hit_object\r\n local amount = isDoom(obj)\r\n if amount > 0 then\r\n trashCan.putObject(obj)\r\n count = count + amount\r\n end\r\n end\r\n end\r\n broadcastToAll(count .. \" doom removed from Playermats.\", \"White\")\r\n end\r\n\r\n local count = 0\r\n if options.Playarea then\r\n for _, obj in ipairs(zone.getObjects()) do\r\n local amount = isDoom(obj)\r\n if amount > 0 then\r\n trashCan.putObject(obj)\r\n count = count + amount\r\n end\r\n end\r\n broadcastToAll(count .. \" doom removed from Playarea.\", \"White\")\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8b081b", - "Name": "Custom_Tile", - "Transform": { - "posX": -55.0, - "posY": 1.45, - "posZ": 16.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 6.43, - "scaleY": 1.0, - "scaleZ": 6.43 - }, - "Nickname": "Playermat 1: White", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037357630681963618/E7271737B19CE0BFAAA382BEEEF497FE3E06ECC1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\n---------------------------------------------------------\n-- specific setup (different for each playmat)\n---------------------------------------------------------\n\nTRASHCAN_GUID = \"147e80\"\nSTAT_TRACKER_GUID = \"e598c2\"\nRESOURCE_COUNTER_GUID = \"4406f0\"\nCLUE_COUNTER_GUID = \"d86b7c\"\nCLUE_CLICKER_GUID = \"db85d6\"\n\nrequire(\"playermat/Playmat\")\nend)\n__bundle_register(\"playermat/Playmat\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\nlocal navigationOverlayApi = require(\"core/NavigationOverlayApi\")\r\n\r\n-- set true to enable debug logging and show Physics.cast()\r\nlocal DEBUG = false\r\n\r\n-- we use this to turn off collision handling until onLoad() is complete\r\nlocal collisionEnabled = false\r\n\r\n-- position offsets relative to mat [x, y, z]\r\nlocal DRAWN_ENCOUNTER_CARD_OFFSET = {1.365, 0.5, -0.625}\r\nlocal DRAWN_CHAOS_TOKEN_OFFSET = {-1.55, 0.25, -0.58}\r\n\r\n-- x-Values for discard buttons\r\nlocal DISCARD_BUTTON_OFFSETS = {-1.365, -0.91, -0.455, 0, 0.455, 0.91}\r\n\r\nlocal SEARCH_AROUND_SELF_X_BUFFER = 8\r\n\r\n-- defined areas for the function \"inArea()\"\"\r\nlocal MAIN_PLAY_AREA = {\r\n upperLeft = {\r\n x = 1.98,\r\n z = 0.736,\r\n },\r\n lowerRight = {\r\n x = -0.79,\r\n z = -0.39,\r\n }\r\n}\r\nlocal INVESTIGATOR_AREA = {\r\n upperLeft = {\r\n x = -1.084,\r\n z = 0.06517\r\n },\r\n lowerRight = {\r\n x = -1.258,\r\n z = -0.0805,\r\n }\r\n}\r\nlocal THREAT_AREA = {\r\n upperLeft = {\r\n x = 1.53,\r\n z = -0.34\r\n },\r\n lowerRight = {\r\n x = -1.13,\r\n z = -0.92,\r\n }\r\n}\r\n\r\nlocal DRAW_DECK_POSITION = { x = -1.82, y = 1, z = 0 }\r\nlocal DISCARD_PILE_POSITION = { x = -1.82, y = 1.5, z = 0.61 }\r\n\r\nlocal TRASHCAN\r\nlocal STAT_TRACKER\r\nlocal RESOURCE_COUNTER\r\n\r\n-- global variable so it can be reset by the Clean Up Helper\r\nactiveInvestigatorId = \"00000\"\r\nlocal isDrawButtonVisible = false\r\n\r\n-- global variable to report \"Dream-Enhancing Serum\" status\r\nisDES = false\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n zoneID = zoneID,\r\n playerColor = playerColor,\r\n activeInvestigatorId = activeInvestigatorId,\r\n isDrawButtonVisible = isDrawButtonVisible\r\n })\r\nend\r\n\r\nfunction onLoad(save_state)\r\n self.interactable = DEBUG\r\n\r\n TRASHCAN = getObjectFromGUID(TRASHCAN_GUID)\r\n STAT_TRACKER = getObjectFromGUID(STAT_TRACKER_GUID)\r\n RESOURCE_COUNTER = getObjectFromGUID(RESOURCE_COUNTER_GUID)\r\n\r\n -- button creation\r\n for i = 1, 6 do\r\n makeDiscardButton(DISCARD_BUTTON_OFFSETS[i], {-3.85, 3, 10.38}, i)\r\n end\r\n\r\n self.createButton({\r\n click_function = \"drawEncountercard\",\r\n function_owner = self,\r\n position = {-1.84, 0, -0.65},\r\n rotation = {0, 80, 0},\r\n width = 265,\r\n height = 190\r\n })\r\n\r\n self.createButton({\r\n click_function = \"drawChaosTokenButton\",\r\n function_owner = self,\r\n position = {1.85, 0, -0.74},\r\n rotation = {0, -45, 0},\r\n width = 135,\r\n height = 135\r\n })\r\n\r\n self.createButton({\r\n label = \"Upkeep\",\r\n click_function = \"doUpkeep\",\r\n function_owner = self,\r\n position = {1.84, 0.1, -0.44},\r\n scale = {0.12, 0.12, 0.12},\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- save state loading\r\n local state = JSON.decode(save_state)\r\n if state ~= nil then\r\n zoneID = state.zoneID\r\n playerColor = state.playerColor\r\n activeInvestigatorId = state.activeInvestigatorId\r\n isDrawButtonVisible = state.isDrawButtonVisible\r\n end\r\n\r\n showDrawButton(isDrawButtonVisible)\r\n\r\n if getObjectFromGUID(zoneID) == nil then spawnDeckZone() end\r\n collisionEnabled = true\r\n\r\n math.randomseed(os.time())\r\nend\r\n\r\n---------------------------------------------------------\r\n-- utility functions\r\n---------------------------------------------------------\r\n\r\nfunction spawnDeckZone()\r\n spawnObject({\r\n position = self.positionToWorld({-1.4, 0, 0.3 }),\r\n scale = {3, 5, 8 },\r\n type = 'ScriptingTrigger',\r\n callback = function (zone) zoneID = zone.getGUID() end,\r\n callback_owner = self,\r\n rotation = self.getRotation()\r\n })\r\nend\r\n\r\nfunction searchArea(origin, size)\r\n return Physics.cast({\r\n origin = origin,\r\n direction = {0, 1, 0},\r\n orientation = self.getRotation(),\r\n type = 3,\r\n size = size,\r\n max_distance = 1,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n-- Finds all objects on the playmat and associated set aside zone.\r\nfunction searchAroundSelf()\r\n local bounds = self.getBoundsNormalized()\r\n -- Increase the width to cover the set aside zone\r\n bounds.size.x = bounds.size.x + SEARCH_AROUND_SELF_X_BUFFER\r\n -- Since the cast is centered on the position, shift left or right to keep the non-set aside edge\r\n -- of the cast at the edge of the playmat\r\n -- setAsideDirection accounts for the set aside zone being on the left or right, depending on the\r\n -- table position of the playmat\r\n local setAsideDirection = bounds.center.z > 0 and 1 or -1\r\n local localCenter = self.positionToLocal(bounds.center)\r\n localCenter.x = localCenter.x\r\n + setAsideDirection * SEARCH_AROUND_SELF_X_BUFFER / 2 / self.getScale().x\r\n\r\n return searchArea(self.positionToWorld(localCenter), bounds.size)\r\nend\r\n\r\nfunction findCardsAroundSelf()\r\n local cards = { }\r\n for _, collision in ipairs(searchAroundSelf()) do\r\n local obj = collision.hit_object\r\n if obj.name == \"Card\" or obj.name == \"CardCustom\" then\r\n table.insert(cards, obj)\r\n end\r\n end\r\n\r\n return cards\r\nend\r\n\r\nfunction doNotReady(card)\r\n return card.getVar(\"do_not_ready\") or false\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Discard buttons\r\n---------------------------------------------------------\r\n\r\n-- builds a function that discards things in searchPosition to discardPosition\r\n-- stuff on the card/deck will be put into the local trashcan\r\nfunction makeDiscardHandlerFor(searchPosition, discardPosition)\r\n return function ()\r\n for _, hitObj in ipairs(findObjectsAtPosition(searchPosition)) do\r\n local obj = hitObj.hit_object\r\n if obj.tag == \"Deck\" or obj.tag == \"Card\" then\r\n if obj.hasTag(\"PlayerCard\") then\r\n obj.setPositionSmooth(self.positionToWorld(DISCARD_PILE_POSITION), false, true)\r\n obj.setRotation(self.getRotation())\r\n else\r\n obj.setPositionSmooth(discardPosition, false, true)\r\n obj.setRotation({0, -90, 0})\r\n end\r\n -- put chaos tokens back into bag (e.g. Unrelenting)\r\n elseif tokenChecker.isChaosToken(obj) then\r\n local chaosBag = Global.call(\"findChaosBag\")\r\n chaosBag.putObject(obj)\r\n -- don't touch the table or this playmat itself\r\n elseif obj.guid ~= \"4ee1f2\" and obj ~= self then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- build a discard button to discard from searchPosition to discardPosition (number must be unique)\r\nfunction makeDiscardButton(xValue, discardPosition, number)\r\n local position = { xValue, 0.1, -0.94}\r\n local searchPosition = {-position[1], position[2], position[3] + 0.32}\r\n local handler = makeDiscardHandlerFor(searchPosition, discardPosition)\r\n local handlerName = 'handler' .. number\r\n self.setVar(handlerName, handler)\r\n self.createButton({\r\n label = \"Discard\",\r\n click_function = handlerName,\r\n function_owner = self,\r\n position = position,\r\n scale = {0.12, 0.12, 0.12},\r\n width = 900,\r\n height = 350,\r\n font_size = 220\r\n })\r\nend\r\n\r\nfunction findObjectsAtPosition(localPos)\r\n return Physics.cast({\r\n origin = self.positionToWorld(localPos),\r\n direction = {0, 1, 0},\r\n orientation = {0, self.getRotation().y + 90, 0},\r\n type = 3,\r\n size = {3.2, 1, 2},\r\n max_distance = 0,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Upkeep button\r\n---------------------------------------------------------\r\n\r\n-- calls the Upkeep function with correct parameter\r\nfunction doUpkeepFromHotkey(color)\r\n doUpkeep(_, color)\r\nend\r\n\r\nfunction doUpkeep(_, clickedByColor, isRightClick)\r\n -- right-click allow color changing\r\n if isRightClick then\r\n changeColor(clickedByColor)\r\n return\r\n end\r\n\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or clickedByColor\r\n\r\n -- unexhaust cards in play zone, flip action tokens and find forcedLearning\r\n local forcedLearning = false\r\n local rot = self.getRotation()\r\n for _, v in ipairs(searchAroundSelf()) do\r\n local obj = v.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.is_face_down then\r\n obj.flip()\r\n elseif obj.tag == \"Card\" and not inArea(self.positionToLocal(obj.getPosition()), INVESTIGATOR_AREA) then\r\n local cardMetadata = JSON.decode(obj.getGMNotes()) or {}\r\n if not doNotReady(obj) then\r\n local cardRotation = round(obj.getRotation().y, 0) - rot.y\r\n local yRotDiff = 0\r\n\r\n if cardRotation < 0 then\r\n cardRotation = cardRotation + 360\r\n end\r\n\r\n -- rotate cards to the next multiple of 90° towards 0°\r\n if cardRotation > 90 and cardRotation <= 180 then\r\n yRotDiff = 90\r\n elseif cardRotation < 270 and cardRotation > 180 then\r\n yRotDiff = 270\r\n end\r\n\r\n -- set correct rotation for face-down cards\r\n rot.z = obj.is_face_down and 180 or 0\r\n obj.setRotation({rot.x, rot.y + yRotDiff, rot.z})\r\n end\r\n if cardMetadata.id == \"08031\" then\r\n forcedLearning = true\r\n end\r\n if cardMetadata.uses ~= nil then\r\n tokenManager.maybeReplenishCard(obj, cardMetadata.uses, self)\r\n end\r\n end\r\n end\r\n\r\n -- flip investigator mini-card and summoned servitor mini-card\r\n -- (all characters allowed to account for custom IDs - e.g. 'Z0000' for TTS Zoop generated IDs)\r\n if activeInvestigatorId ~= nil then\r\n local miniId = string.match(activeInvestigatorId, \".....\") .. \"-m\"\r\n for _, obj in ipairs(getObjects()) do\r\n if obj.tag == \"Card\" and obj.is_face_down then\r\n local notes = JSON.decode(obj.getGMNotes())\r\n if notes ~= nil and notes.type == \"Minicard\" and (notes.id == miniId or notes.id == \"09080-m\") then\r\n obj.flip()\r\n end\r\n end\r\n end\r\n end\r\n\r\n -- gain a resource (or two if playing Jenny Barnes)\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"02003\" then\r\n gainResources(2)\r\n printToColor(\"Gaining 2 resources (Jenny)\", messageColor)\r\n else\r\n gainResources(1)\r\n end\r\n\r\n -- draw a card (with handling for Patrice and Forced Learning)\r\n if activeInvestigatorId == \"06005\" then\r\n if forcedLearning then\r\n printToColor(\"Wow, did you really take 'Versatile' to play Patrice with 'Forced Learning'? Choose which draw replacement effect takes priority and draw cards accordingly.\", messageColor)\r\n else\r\n local handSize = #Player[playerColor].getHandObjects()\r\n if handSize < 5 then\r\n local cardsToDraw = 5 - handSize\r\n printToColor(\"Drawing \" .. cardsToDraw .. \" cards (Patrice)\", messageColor)\r\n drawCardsWithReshuffle(cardsToDraw)\r\n end\r\n end\r\n elseif forcedLearning then\r\n printToColor(\"Drawing 2 cards, discard 1 (Forced Learning)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n elseif activeInvestigatorId == \"89001\" then\r\n printToColor(\"Drawing 2 cards (Subject 5U-21)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n else\r\n drawCardsWithReshuffle(1)\r\n end\r\nend\r\n\r\n-- adds the specified amount of resources to the resource counter\r\nfunction gainResources(amount)\r\n local count = RESOURCE_COUNTER.getVar(\"val\")\r\n local add = tonumber(amount) or 0\r\n RESOURCE_COUNTER.call(\"updateVal\", count + add)\r\nend\r\n\r\n-- function for \"draw 1 button\" (that can be added via option panel)\r\nfunction doDrawOne(_, color)\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or color\r\n drawCardsWithReshuffle(1)\r\nend\r\n\r\n-- draw X cards (shuffle discards if necessary)\r\nfunction drawCardsWithReshuffle(numCards)\r\n getDrawDiscardDecks()\r\n\r\n -- Norman Withers handling\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" then\r\n local harbinger = false\r\n if topCard ~= nil and topCard.getName() == \"The Harbinger\" then harbinger = true\r\n elseif drawDeck ~= nil and not drawDeck.is_face_down then\r\n local cards = drawDeck.getObjects()\r\n if cards[#cards].name == \"The Harbinger\" then harbinger = true end\r\n end\r\n\r\n if harbinger then\r\n printToColor(\"The Harbinger is on top of your deck, not drawing cards\", messageColor)\r\n return\r\n end\r\n\r\n if topCard ~= nil then\r\n topCard.deal(numCards, playerColor)\r\n numCards = numCards - 1\r\n if numCards == 0 then return end\r\n end\r\n end\r\n\r\n local deckSize = 1\r\n if drawDeck == nil then\r\n deckSize = 0\r\n elseif drawDeck.tag == \"Deck\" then\r\n deckSize = #drawDeck.getObjects()\r\n end\r\n\r\n if deckSize >= numCards then\r\n drawCards(numCards)\r\n return\r\n end\r\n\r\n drawCards(deckSize)\r\n if discardPile ~= nil then\r\n shuffleDiscardIntoDeck()\r\n Wait.time(|| drawCards(numCards - deckSize), 1)\r\n end\r\n printToColor(\"Take 1 horror (drawing card from empty deck)\", messageColor)\r\nend\r\n\r\n-- get the draw deck and discard pile objects\r\nfunction getDrawDiscardDecks()\r\n drawDeck = nil\r\n discardPile = nil\r\n topCard = nil\r\n\r\n local zone = getObjectFromGUID(zoneID)\r\n if zone == nil then return end\r\n\r\n for _, object in ipairs(zone.getObjects()) do\r\n if object.tag == \"Deck\" or object.tag == \"Card\" then\r\n if self.positionToLocal(object.getPosition()).z > 0.5 then\r\n discardPile = object\r\n -- Norman Withers handling\r\n elseif string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" and object.tag == \"Card\" and not object.is_face_down then\r\n topCard = object\r\n else\r\n drawDeck = object\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction drawCards(numCards)\r\n if drawDeck == nil then return end\r\n drawDeck.deal(numCards, playerColor)\r\nend\r\n\r\nfunction shuffleDiscardIntoDeck()\r\n if not discardPile.is_face_down then discardPile.flip() end\r\n discardPile.shuffle()\r\n discardPile.setPositionSmooth(self.positionToWorld(DRAW_DECK_POSITION), false, false)\r\n drawDeck = discardPile\r\n discardPile = nil\r\nend\r\n\r\n-- discard a random non-hidden card from hand\r\nfunction doDiscardOne()\r\n local hand = Player[playerColor].getHandObjects()\r\n if #hand == 0 then\r\n broadcastToAll(\"Cannot discard from empty hand!\", \"Red\")\r\n else\r\n local choices = {}\r\n for i = 1, #hand do\r\n local notes = JSON.decode(hand[i].getGMNotes())\r\n if notes ~= nil then\r\n if notes.hidden ~= true then\r\n table.insert(choices, i)\r\n end\r\n else\r\n table.insert(choices, i)\r\n end\r\n end\r\n\r\n if #choices == 0 then\r\n broadcastToAll(\"Hidden cards can't be randomly discarded.\", \"Orange\")\r\n return\r\n end\r\n\r\n -- get a random non-hidden card (from the \"choices\" table)\r\n local num = math.random(1, #choices)\r\n hand[choices[num]].setPosition(returnGlobalDiscardPosition())\r\n broadcastToAll(playerColor .. \" randomly discarded card \" .. choices[num] .. \"/\" .. #hand .. \".\", \"White\")\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- color related functions\r\n---------------------------------------------------------\r\n\r\n-- changes the player color\r\nfunction changeColor(clickedByColor)\r\n local colorList = {\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 }\r\n\r\n -- remove existing colors from the list of choices\r\n for _, existingColor in ipairs(Player.getAvailableColors()) do\r\n for i, newColor in ipairs(colorList) do\r\n if existingColor == newColor then\r\n table.remove(colorList, i)\r\n end\r\n end\r\n end\r\n\r\n -- show the option dialog for color selection to the player that triggered this\r\n Player[clickedByColor].showOptionsDialog(\"Select a new color:\", colorList, _, function(color)\r\n local HAND_ZONE_GUIDS = {\r\n \"a70eee\", -- White\r\n \"5fe087\", -- Orange\r\n \"0285cc\", -- Green\r\n \"be2f17\" -- Red\r\n }\r\n local index\r\n local startPos = self.getPosition()\r\n\r\n -- get respective hand zone by position\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n index = 1\r\n else\r\n index = 2\r\n end\r\n else\r\n if startPos.z > 0 then\r\n index = 3\r\n else\r\n index = 4\r\n end\r\n end\r\n\r\n -- update the color of the hand zone\r\n local handZone = getObjectFromGUID(HAND_ZONE_GUIDS[index])\r\n handZone.setValue(color)\r\n\r\n -- if the seated player clicked this, reseat him to the new color\r\n if clickedByColor == playerColor then\r\n navigationOverlayApi.copyVisibility(playerColor, color)\r\n Player[playerColor].changeColor(color)\r\n end\r\n\r\n -- update the internal variable\r\n playerColor = color\r\n end)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- playmat token spawning\r\n---------------------------------------------------------\r\n\r\n-- Finds all customizable cards in this play area and updates their metadata based on the selections\r\n-- on the matching upgrade sheet.\r\n-- This method is theoretically O(n^2), and should be used sparingly. In practice it will only be\r\n-- called when a checkbox is added or removed in-game (which should be rare), and is bounded by the\r\n-- number of customizable cards in play.\r\nfunction syncAllCustomizableCards()\r\n for _, card in ipairs(findCardsAroundSelf()) do\r\n syncCustomizableMetadata(card)\r\n end\r\nend\r\n\r\nfunction syncCustomizableMetadata(card)\r\n local cardMetadata = JSON.decode(card.getGMNotes()) or { }\r\n if cardMetadata == nil or cardMetadata.customizations == nil then\r\n return\r\n end\r\n for _, upgradeSheet in ipairs(findCardsAroundSelf()) do\r\n local upgradeSheetMetadata = JSON.decode(upgradeSheet.getGMNotes()) or { }\r\n if upgradeSheetMetadata.id == (cardMetadata.id .. \"-c\") then\r\n for i, customization in ipairs(cardMetadata.customizations) do\r\n if customization.replaces ~= nil and customization.replaces.uses ~= nil then\r\n -- Allowed use of call(), no APIs for individual cards\r\n if upgradeSheet.call(\"isUpgradeActive\", i) then\r\n cardMetadata.uses = customization.replaces.uses\r\n card.setGMNotes(JSON.encode(cardMetadata))\r\n else\r\n -- TODO: Get the original metadata to restore it... maybe. This should only be\r\n -- necessary in the very unlikely case that a user un-checks a previously-full upgrade\r\n -- row while the card is in play. It will be much easier once the AllPlayerCardsApi is\r\n -- in place, so defer until it is\r\n end\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction spawnTokensFor(object)\r\n local extraUses = { }\r\n if activeInvestigatorId == \"03004\" then\r\n extraUses[\"Charge\"] = 1\r\n end\r\n\r\n tokenManager.spawnForCard(object, extraUses)\r\nend\r\n\r\nfunction onCollisionEnter(collision_info)\r\n local object = collision_info.collision_object\r\n\r\n -- detect if \"Dream-Enhancing Serum\" is placed\r\n if object.getName() == \"Dream-Enhancing Serum\" then isDES = true end\r\n\r\n -- only continue if loading is completed\r\n if not collisionEnabled then return end\r\n\r\n -- only continue for cards\r\n if object.name ~= \"Card\" and object.name ~= \"CardCustom\" then return end\r\n\r\n maybeUpdateActiveInvestigator(object)\r\n syncCustomizableMetadata(object)\r\n\r\n if isInDeckZone(object) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(object)\r\n elseif shouldSpawnTokens(object) then\r\n spawnTokensFor(object)\r\n end\r\nend\r\n\r\n-- detect if \"Dream-Enhancing Serum\" is removed\r\nfunction onCollisionExit(collision_info)\r\n if collision_info.collision_object.getName() == \"Dream-Enhancing Serum\" then isDES = false end\r\nend\r\n\r\n-- checks if tokens should be spawned for the provided card\r\nfunction shouldSpawnTokens(card)\r\n if card.is_face_down then\r\n return false\r\n end\r\n\r\n local localCardPos = self.positionToLocal(card.getPosition())\r\n local metadata = JSON.decode(card.getGMNotes())\r\n\r\n -- If no metadata we don't know the type, so only spawn in the main area\r\n if metadata == nil then\r\n return inArea(localCardPos, MAIN_PLAY_AREA)\r\n end\r\n\r\n -- Spawn tokens for assets and events on the main area\r\n if inArea(localCardPos, MAIN_PLAY_AREA)\r\n and (metadata.type == \"Asset\"\r\n or metadata.type == \"Event\") then\r\n return true\r\n end\r\n\r\n -- Spawn tokens for all encounter types in the threat area\r\n if inArea(localCardPos, THREAT_AREA)\r\n and (metadata.type == \"Treachery\"\r\n or metadata.type == \"Enemy\"\r\n or metadata.weakness) then\r\n return true\r\n end\r\n\r\n return false\r\nend\r\n\r\nfunction onObjectEnterContainer(container, object)\r\n Wait.frames(function() resetTokensIfInDeckZone(container, object) end, 1)\r\nend\r\n\r\nfunction resetTokensIfInDeckZone(container, object)\r\n if isInDeckZone(container) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(container)\r\n end\r\nend\r\n\r\n-- checks if an object is in this mats deckzone\r\nfunction isInDeckZone(checkObject)\r\n local deckZone = getObjectFromGUID(zoneID)\r\n if deckZone == nil then\r\n return false\r\n end\r\n\r\n for _, obj in ipairs(deckZone.getObjects()) do\r\n if obj == checkObject then\r\n return true\r\n end\r\n end\r\n\r\n return false\r\nend\r\n\r\n-- removes tokens from the provided card/deck\r\nfunction removeTokensFromObject(object)\r\n for _, v in ipairs(searchArea(object.getPosition(), { 3, 1, 4 })) do\r\n local obj = v.hit_object\r\n\r\n if obj.getGUID() ~= \"4ee1f2\" and -- table\r\n obj ~= self and\r\n obj.type ~= \"Deck\" and\r\n obj.type ~= \"Card\" and\r\n obj.memo ~= nil and\r\n obj.getLock() == false and\r\n obj.getDescription() ~= \"Action Token\" and\r\n not tokenChecker.isChaosToken(obj) then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- investigator ID grabbing and skill tracker\r\n---------------------------------------------------------\r\n\r\nfunction maybeUpdateActiveInvestigator(card)\r\n if not inArea(self.positionToLocal(card.getPosition()), INVESTIGATOR_AREA) then return end\r\n\r\n local notes = JSON.decode(card.getGMNotes())\r\n local class\r\n\r\n if notes ~= nil and notes.type == \"Investigator\" and notes.id ~= nil then\r\n if notes.id == activeInvestigatorId then return end\r\n class = notes.class\r\n activeInvestigatorId = notes.id\r\n STAT_TRACKER.call(\"updateStats\", {notes.willpowerIcons, notes.intellectIcons, notes.combatIcons, notes.agilityIcons})\r\n elseif activeInvestigatorId ~= \"00000\" then\r\n class = \"Neutral\"\r\n activeInvestigatorId = \"00000\"\r\n STAT_TRACKER.call(\"updateStats\", {1, 1, 1, 1})\r\n else\r\n return\r\n end\r\n\r\n -- change state of action tokens\r\n local search = searchArea(self.positionToWorld({-1.1, 0.05, -0.27}), {4, 1, 1})\r\n local smallToken = nil\r\n local STATE_TABLE = {\r\n [\"Guardian\"] = 1,\r\n [\"Seeker\"] = 2,\r\n [\"Rogue\"] = 3,\r\n [\"Mystic\"] = 4,\r\n [\"Survivor\"] = 5,\r\n [\"Neutral\"] = 6\r\n }\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.getStateId() > 0 then\r\n if obj.getScale().x < 0.4 then\r\n smallToken = obj\r\n else\r\n setObjectState(obj, STATE_TABLE[class])\r\n end\r\n end\r\n end\r\n\r\n -- update the small token with special action for certain investigators\r\n local SPECIAL_ACTIONS = {\r\n [\"04002\"] = 8, -- Ursula Downs\r\n [\"01002\"] = 9, -- Daisy Walker\r\n [\"01502\"] = 9, -- Daisy Walker\r\n [\"01002-pb\"] = 9, -- Daisy Walker\r\n [\"06003\"] = 10, -- Tony Morgan\r\n [\"04003\"] = 11, -- Finn Edwards\r\n [\"08016\"] = 14 -- Bob Jenkins\r\n }\r\n\r\n if smallToken ~= nil then\r\n setObjectState(smallToken, SPECIAL_ACTIONS[activeInvestigatorId] or STATE_TABLE[class])\r\n end\r\nend\r\n\r\nfunction setObjectState(obj, stateId)\r\n if obj.getStateId() ~= stateId then obj.setState(stateId) end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- calls to 'Global' / functions for calls from outside\r\n---------------------------------------------------------\r\n\r\nfunction drawChaosTokenButton(_, _, isRightClick)\r\n Global.call(\"drawChaosToken\", {self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick})\r\nend\r\n\r\nfunction drawEncountercard(_, _, isRightClick)\r\n Global.call(\"drawEncountercard\", {self.positionToWorld(DRAWN_ENCOUNTER_CARD_OFFSET), self.getRotation(), isRightClick})\r\nend\r\n\r\nfunction returnGlobalDiscardPosition()\r\n return self.positionToWorld(DISCARD_PILE_POSITION)\r\nend\r\n\r\n-- Sets this playermat's draw 1 button to visible\r\n---@param visible Boolean. Whether the draw 1 button should be visible\r\nfunction showDrawButton(visible)\r\n isDrawButtonVisible = visible\r\n\r\n -- create the \"Draw 1\" button\r\n if isDrawButtonVisible then\r\n self.createButton({\r\n label = \"Draw 1\",\r\n click_function = \"doDrawOne\",\r\n function_owner = self,\r\n position = { 1.84, 0.1, -0.36 },\r\n scale = { 0.12, 0.12, 0.12 },\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- remove the \"Draw 1\" button\r\n else\r\n local buttons = self.getButtons()\r\n for i = 1, #buttons do\r\n if buttons[i].label == \"Draw 1\" then\r\n self.removeButton(buttons[i].index)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Spawns / destroys a clickable clue counter for this playmat with the correct amount of clues\r\n---@param showCounter Boolean Whether the clickable clue counter should be present\r\nfunction clickableClues(showCounter)\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n local clickerPos = CLUE_CLICKER.getPosition()\r\n local clueCount = 0\r\n\r\n if showCounter then\r\n -- current clue count\r\n clueCount = CLUE_COUNTER.getVar(\"exposedValue\")\r\n\r\n -- remove clues\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n\r\n -- set value for clue clickers\r\n CLUE_CLICKER.call(\"updateVal\", clueCount)\r\n\r\n -- move clue counters up\r\n clickerPos.y = 1.52\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n else\r\n -- current clue count\r\n clueCount = CLUE_CLICKER.getVar(\"val\")\r\n\r\n -- move clue counters down\r\n clickerPos.y = 1.3\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n\r\n -- spawn clues\r\n local pos = self.positionToWorld({x = -1.12, y = 0.05, z = 0.7})\r\n for i = 1, clueCount do\r\n pos.y = pos.y + 0.045 * i\r\n tokenManager.spawnToken(pos, \"clue\", self.getRotation())\r\n end\r\n end\r\nend\r\n\r\n-- removes all clues (moving tokens to the trash and setting counters to 0)\r\nfunction removeClues()\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n CLUE_CLICKER.call(\"updateVal\", 0)\r\nend\r\n\r\n-- reports the clue count\r\n---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\nfunction getClueCount(useClickableCounters)\r\n local count = 0\r\n\r\n if useClickableCounters then\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n count = tonumber(CLUE_CLICKER.getVar(\"val\"))\r\n else\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n count = tonumber(CLUE_COUNTER.getVar(\"exposedValue\"))\r\n end\r\n return count\r\nend\r\n\r\n-- Sets this playermat's snap points to limit snapping to matching card types or not. If matchTypes\r\n-- is true, the main card slot snap points will only snap assets, while the investigator area point\r\n-- will only snap Investigators. If matchTypes is false, snap points will be reset to snap all\r\n-- cards.\r\n---@param matchTypes Boolean. Whether snap points should only snap for the matching card types.\r\nfunction setLimitSnapsByType(matchTypes)\r\n local snaps = self.getSnapPoints()\r\n for i, snap in ipairs(snaps) do\r\n local snapPos = snap.position\r\n if inArea(snapPos, MAIN_PLAY_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Asset\" }\r\n else\r\n table.insert(snaps[i].tags, \"Asset\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n if inArea(snapPos, INVESTIGATOR_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Investigator\" }\r\n else\r\n table.insert(snaps[i].tags, \"Investigator\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n end\r\n self.setSnapPoints(snaps)\r\nend\r\n\r\n-- Simple method to check if the given point is in a specified area. Local use only,\r\n---@param point Vector. Point to check, only x and z values are relevant\r\n---@param bounds Table. Defined area to see if the point is within. See MAIN_PLAY_AREA for sample\r\n-- bounds definition.\r\n---@return Boolean. True if the point is in the area defined by bounds\r\nfunction inArea(point, bounds)\r\n return (point.x < bounds.upperLeft.x\r\n and point.x > bounds.lowerRight.x\r\n and point.z < bounds.upperLeft.z\r\n and point.z > bounds.lowerRight.z)\r\nend\r\n\r\n-- called by custom data helpers to add player card data\r\n---@param args table Contains only one entry, the GUID of the custom data helper\r\nfunction updatePlayerCards(args)\r\n local customDataHelper = getObjectFromGUID(args[1])\r\n local playerCardData = customDataHelper.getTable(\"PLAYER_CARD_DATA\")\r\n tokenManager.addPlayerCardData(playerCardData)\r\nend\r\n\r\n-- utility function for rounding\r\n---@param num Number Initial value\r\n---@param numDecimalPlaces Number Amount of decimal places\r\nfunction round(num, numDecimalPlaces)\r\n local mult = 10^(numDecimalPlaces or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\nend)\n__bundle_register(\"core/NavigationOverlayApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local NavigationOverlayApi = {}\r\n local HANDLER_GUID = \"797ede\"\r\n\r\n -- Copies the visibility for the Navigation overlay\r\n ---@param startColor String Color of the player to copy from\r\n ---@param targetColor String Color of the targeted player\r\n NavigationOverlayApi.copyVisibility = function(startColor, targetColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"copyVisibility\", {\r\n startColor = startColor,\r\n targetColor = targetColor\r\n })\r\n end\r\n\r\n -- Changes the Navigation Overlay view (\"Full View\" --> \"Play Areas\" --> \"Closed\" etc.)\r\n ---@param playerColor String Color of the player to update the visibility for\r\n NavigationOverlayApi.cycleVisibility = function(playerColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"cycleVisibility\", playerColor)\r\n end\r\n\r\n return NavigationOverlayApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"activeInvestigatorId\":\"00000\",\"isDrawButtonVisible\":false,\"playerColor\":\"White\",\"zoneID\":\"7af2cf\"}", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": 0.118 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.865, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.18, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.36, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.631, - "y": 0.1, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.616, - "y": 0.102, - "z": 0.024 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.177, - "y": 0.101, - "z": 0.032 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.174, - "y": 0.099, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.212, - "y": 0.1, - "z": 0.559 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.217, - "y": 0.1, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.602, - "y": 0.1, - "z": 0.033 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.605, - "y": 0.1, - "z": 0.555 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.977, - "y": 0.099, - "z": 0.556 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.98, - "y": 0.099, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.1, - "z": 0.038 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.099, - "z": 0.558 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.754, - "y": 0.1, - "z": 0.563 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.758, - "y": 0.101, - "z": 0.04 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.61 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.177, - "y": 0.1, - "z": 0.0 - }, - "Tags": [ - "Investigator" - ] - }, - { - "Position": { - "x": 1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - } - ] - }, - { - "GUID": "bd0ff4", - "Name": "Custom_Tile", - "Transform": { - "posX": -54.999, - "posY": 1.45, - "posZ": -16.098, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 6.43, - "scaleY": 1.0, - "scaleZ": 6.43 - }, - "Nickname": "Playermat 2: Orange", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037357630681963618/E7271737B19CE0BFAAA382BEEEF497FE3E06ECC1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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-- specific setup (different for each playmat)\n---------------------------------------------------------\n\nTRASHCAN_GUID = \"f7b6c8\"\nSTAT_TRACKER_GUID = \"b4a5f7\"\nRESOURCE_COUNTER_GUID = \"816d84\"\nCLUE_COUNTER_GUID = \"1769ed\"\nCLUE_CLICKER_GUID = \"3f22e5\"\n\nrequire(\"playermat/Playmat\")\nend)\n__bundle_register(\"playermat/Playmat\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\nlocal navigationOverlayApi = require(\"core/NavigationOverlayApi\")\r\n\r\n-- set true to enable debug logging and show Physics.cast()\r\nlocal DEBUG = false\r\n\r\n-- we use this to turn off collision handling until onLoad() is complete\r\nlocal collisionEnabled = false\r\n\r\n-- position offsets relative to mat [x, y, z]\r\nlocal DRAWN_ENCOUNTER_CARD_OFFSET = {1.365, 0.5, -0.625}\r\nlocal DRAWN_CHAOS_TOKEN_OFFSET = {-1.55, 0.25, -0.58}\r\n\r\n-- x-Values for discard buttons\r\nlocal DISCARD_BUTTON_OFFSETS = {-1.365, -0.91, -0.455, 0, 0.455, 0.91}\r\n\r\nlocal SEARCH_AROUND_SELF_X_BUFFER = 8\r\n\r\n-- defined areas for the function \"inArea()\"\"\r\nlocal MAIN_PLAY_AREA = {\r\n upperLeft = {\r\n x = 1.98,\r\n z = 0.736,\r\n },\r\n lowerRight = {\r\n x = -0.79,\r\n z = -0.39,\r\n }\r\n}\r\nlocal INVESTIGATOR_AREA = {\r\n upperLeft = {\r\n x = -1.084,\r\n z = 0.06517\r\n },\r\n lowerRight = {\r\n x = -1.258,\r\n z = -0.0805,\r\n }\r\n}\r\nlocal THREAT_AREA = {\r\n upperLeft = {\r\n x = 1.53,\r\n z = -0.34\r\n },\r\n lowerRight = {\r\n x = -1.13,\r\n z = -0.92,\r\n }\r\n}\r\n\r\nlocal DRAW_DECK_POSITION = { x = -1.82, y = 1, z = 0 }\r\nlocal DISCARD_PILE_POSITION = { x = -1.82, y = 1.5, z = 0.61 }\r\n\r\nlocal TRASHCAN\r\nlocal STAT_TRACKER\r\nlocal RESOURCE_COUNTER\r\n\r\n-- global variable so it can be reset by the Clean Up Helper\r\nactiveInvestigatorId = \"00000\"\r\nlocal isDrawButtonVisible = false\r\n\r\n-- global variable to report \"Dream-Enhancing Serum\" status\r\nisDES = false\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n zoneID = zoneID,\r\n playerColor = playerColor,\r\n activeInvestigatorId = activeInvestigatorId,\r\n isDrawButtonVisible = isDrawButtonVisible\r\n })\r\nend\r\n\r\nfunction onLoad(save_state)\r\n self.interactable = DEBUG\r\n\r\n TRASHCAN = getObjectFromGUID(TRASHCAN_GUID)\r\n STAT_TRACKER = getObjectFromGUID(STAT_TRACKER_GUID)\r\n RESOURCE_COUNTER = getObjectFromGUID(RESOURCE_COUNTER_GUID)\r\n\r\n -- button creation\r\n for i = 1, 6 do\r\n makeDiscardButton(DISCARD_BUTTON_OFFSETS[i], {-3.85, 3, 10.38}, i)\r\n end\r\n\r\n self.createButton({\r\n click_function = \"drawEncountercard\",\r\n function_owner = self,\r\n position = {-1.84, 0, -0.65},\r\n rotation = {0, 80, 0},\r\n width = 265,\r\n height = 190\r\n })\r\n\r\n self.createButton({\r\n click_function = \"drawChaosTokenButton\",\r\n function_owner = self,\r\n position = {1.85, 0, -0.74},\r\n rotation = {0, -45, 0},\r\n width = 135,\r\n height = 135\r\n })\r\n\r\n self.createButton({\r\n label = \"Upkeep\",\r\n click_function = \"doUpkeep\",\r\n function_owner = self,\r\n position = {1.84, 0.1, -0.44},\r\n scale = {0.12, 0.12, 0.12},\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- save state loading\r\n local state = JSON.decode(save_state)\r\n if state ~= nil then\r\n zoneID = state.zoneID\r\n playerColor = state.playerColor\r\n activeInvestigatorId = state.activeInvestigatorId\r\n isDrawButtonVisible = state.isDrawButtonVisible\r\n end\r\n\r\n showDrawButton(isDrawButtonVisible)\r\n\r\n if getObjectFromGUID(zoneID) == nil then spawnDeckZone() end\r\n collisionEnabled = true\r\n\r\n math.randomseed(os.time())\r\nend\r\n\r\n---------------------------------------------------------\r\n-- utility functions\r\n---------------------------------------------------------\r\n\r\nfunction spawnDeckZone()\r\n spawnObject({\r\n position = self.positionToWorld({-1.4, 0, 0.3 }),\r\n scale = {3, 5, 8 },\r\n type = 'ScriptingTrigger',\r\n callback = function (zone) zoneID = zone.getGUID() end,\r\n callback_owner = self,\r\n rotation = self.getRotation()\r\n })\r\nend\r\n\r\nfunction searchArea(origin, size)\r\n return Physics.cast({\r\n origin = origin,\r\n direction = {0, 1, 0},\r\n orientation = self.getRotation(),\r\n type = 3,\r\n size = size,\r\n max_distance = 1,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n-- Finds all objects on the playmat and associated set aside zone.\r\nfunction searchAroundSelf()\r\n local bounds = self.getBoundsNormalized()\r\n -- Increase the width to cover the set aside zone\r\n bounds.size.x = bounds.size.x + SEARCH_AROUND_SELF_X_BUFFER\r\n -- Since the cast is centered on the position, shift left or right to keep the non-set aside edge\r\n -- of the cast at the edge of the playmat\r\n -- setAsideDirection accounts for the set aside zone being on the left or right, depending on the\r\n -- table position of the playmat\r\n local setAsideDirection = bounds.center.z > 0 and 1 or -1\r\n local localCenter = self.positionToLocal(bounds.center)\r\n localCenter.x = localCenter.x\r\n + setAsideDirection * SEARCH_AROUND_SELF_X_BUFFER / 2 / self.getScale().x\r\n\r\n return searchArea(self.positionToWorld(localCenter), bounds.size)\r\nend\r\n\r\nfunction findCardsAroundSelf()\r\n local cards = { }\r\n for _, collision in ipairs(searchAroundSelf()) do\r\n local obj = collision.hit_object\r\n if obj.name == \"Card\" or obj.name == \"CardCustom\" then\r\n table.insert(cards, obj)\r\n end\r\n end\r\n\r\n return cards\r\nend\r\n\r\nfunction doNotReady(card)\r\n return card.getVar(\"do_not_ready\") or false\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Discard buttons\r\n---------------------------------------------------------\r\n\r\n-- builds a function that discards things in searchPosition to discardPosition\r\n-- stuff on the card/deck will be put into the local trashcan\r\nfunction makeDiscardHandlerFor(searchPosition, discardPosition)\r\n return function ()\r\n for _, hitObj in ipairs(findObjectsAtPosition(searchPosition)) do\r\n local obj = hitObj.hit_object\r\n if obj.tag == \"Deck\" or obj.tag == \"Card\" then\r\n if obj.hasTag(\"PlayerCard\") then\r\n obj.setPositionSmooth(self.positionToWorld(DISCARD_PILE_POSITION), false, true)\r\n obj.setRotation(self.getRotation())\r\n else\r\n obj.setPositionSmooth(discardPosition, false, true)\r\n obj.setRotation({0, -90, 0})\r\n end\r\n -- put chaos tokens back into bag (e.g. Unrelenting)\r\n elseif tokenChecker.isChaosToken(obj) then\r\n local chaosBag = Global.call(\"findChaosBag\")\r\n chaosBag.putObject(obj)\r\n -- don't touch the table or this playmat itself\r\n elseif obj.guid ~= \"4ee1f2\" and obj ~= self then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- build a discard button to discard from searchPosition to discardPosition (number must be unique)\r\nfunction makeDiscardButton(xValue, discardPosition, number)\r\n local position = { xValue, 0.1, -0.94}\r\n local searchPosition = {-position[1], position[2], position[3] + 0.32}\r\n local handler = makeDiscardHandlerFor(searchPosition, discardPosition)\r\n local handlerName = 'handler' .. number\r\n self.setVar(handlerName, handler)\r\n self.createButton({\r\n label = \"Discard\",\r\n click_function = handlerName,\r\n function_owner = self,\r\n position = position,\r\n scale = {0.12, 0.12, 0.12},\r\n width = 900,\r\n height = 350,\r\n font_size = 220\r\n })\r\nend\r\n\r\nfunction findObjectsAtPosition(localPos)\r\n return Physics.cast({\r\n origin = self.positionToWorld(localPos),\r\n direction = {0, 1, 0},\r\n orientation = {0, self.getRotation().y + 90, 0},\r\n type = 3,\r\n size = {3.2, 1, 2},\r\n max_distance = 0,\r\n debug = DEBUG\r\n })\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Upkeep button\r\n---------------------------------------------------------\r\n\r\n-- calls the Upkeep function with correct parameter\r\nfunction doUpkeepFromHotkey(color)\r\n doUpkeep(_, color)\r\nend\r\n\r\nfunction doUpkeep(_, clickedByColor, isRightClick)\r\n -- right-click allow color changing\r\n if isRightClick then\r\n changeColor(clickedByColor)\r\n return\r\n end\r\n\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or clickedByColor\r\n\r\n -- unexhaust cards in play zone, flip action tokens and find forcedLearning\r\n local forcedLearning = false\r\n local rot = self.getRotation()\r\n for _, v in ipairs(searchAroundSelf()) do\r\n local obj = v.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.is_face_down then\r\n obj.flip()\r\n elseif obj.tag == \"Card\" and not inArea(self.positionToLocal(obj.getPosition()), INVESTIGATOR_AREA) then\r\n local cardMetadata = JSON.decode(obj.getGMNotes()) or {}\r\n if not doNotReady(obj) then\r\n local cardRotation = round(obj.getRotation().y, 0) - rot.y\r\n local yRotDiff = 0\r\n\r\n if cardRotation < 0 then\r\n cardRotation = cardRotation + 360\r\n end\r\n\r\n -- rotate cards to the next multiple of 90° towards 0°\r\n if cardRotation > 90 and cardRotation <= 180 then\r\n yRotDiff = 90\r\n elseif cardRotation < 270 and cardRotation > 180 then\r\n yRotDiff = 270\r\n end\r\n\r\n -- set correct rotation for face-down cards\r\n rot.z = obj.is_face_down and 180 or 0\r\n obj.setRotation({rot.x, rot.y + yRotDiff, rot.z})\r\n end\r\n if cardMetadata.id == \"08031\" then\r\n forcedLearning = true\r\n end\r\n if cardMetadata.uses ~= nil then\r\n tokenManager.maybeReplenishCard(obj, cardMetadata.uses, self)\r\n end\r\n end\r\n end\r\n\r\n -- flip investigator mini-card and summoned servitor mini-card\r\n -- (all characters allowed to account for custom IDs - e.g. 'Z0000' for TTS Zoop generated IDs)\r\n if activeInvestigatorId ~= nil then\r\n local miniId = string.match(activeInvestigatorId, \".....\") .. \"-m\"\r\n for _, obj in ipairs(getObjects()) do\r\n if obj.tag == \"Card\" and obj.is_face_down then\r\n local notes = JSON.decode(obj.getGMNotes())\r\n if notes ~= nil and notes.type == \"Minicard\" and (notes.id == miniId or notes.id == \"09080-m\") then\r\n obj.flip()\r\n end\r\n end\r\n end\r\n end\r\n\r\n -- gain a resource (or two if playing Jenny Barnes)\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"02003\" then\r\n gainResources(2)\r\n printToColor(\"Gaining 2 resources (Jenny)\", messageColor)\r\n else\r\n gainResources(1)\r\n end\r\n\r\n -- draw a card (with handling for Patrice and Forced Learning)\r\n if activeInvestigatorId == \"06005\" then\r\n if forcedLearning then\r\n printToColor(\"Wow, did you really take 'Versatile' to play Patrice with 'Forced Learning'? Choose which draw replacement effect takes priority and draw cards accordingly.\", messageColor)\r\n else\r\n local handSize = #Player[playerColor].getHandObjects()\r\n if handSize < 5 then\r\n local cardsToDraw = 5 - handSize\r\n printToColor(\"Drawing \" .. cardsToDraw .. \" cards (Patrice)\", messageColor)\r\n drawCardsWithReshuffle(cardsToDraw)\r\n end\r\n end\r\n elseif forcedLearning then\r\n printToColor(\"Drawing 2 cards, discard 1 (Forced Learning)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n elseif activeInvestigatorId == \"89001\" then\r\n printToColor(\"Drawing 2 cards (Subject 5U-21)\", messageColor)\r\n drawCardsWithReshuffle(2)\r\n else\r\n drawCardsWithReshuffle(1)\r\n end\r\nend\r\n\r\n-- adds the specified amount of resources to the resource counter\r\nfunction gainResources(amount)\r\n local count = RESOURCE_COUNTER.getVar(\"val\")\r\n local add = tonumber(amount) or 0\r\n RESOURCE_COUNTER.call(\"updateVal\", count + add)\r\nend\r\n\r\n-- function for \"draw 1 button\" (that can be added via option panel)\r\nfunction doDrawOne(_, color)\r\n -- send messages to player who clicked button if no seated player found\r\n messageColor = Player[playerColor].seated and playerColor or color\r\n drawCardsWithReshuffle(1)\r\nend\r\n\r\n-- draw X cards (shuffle discards if necessary)\r\nfunction drawCardsWithReshuffle(numCards)\r\n getDrawDiscardDecks()\r\n\r\n -- Norman Withers handling\r\n if string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" then\r\n local harbinger = false\r\n if topCard ~= nil and topCard.getName() == \"The Harbinger\" then harbinger = true\r\n elseif drawDeck ~= nil and not drawDeck.is_face_down then\r\n local cards = drawDeck.getObjects()\r\n if cards[#cards].name == \"The Harbinger\" then harbinger = true end\r\n end\r\n\r\n if harbinger then\r\n printToColor(\"The Harbinger is on top of your deck, not drawing cards\", messageColor)\r\n return\r\n end\r\n\r\n if topCard ~= nil then\r\n topCard.deal(numCards, playerColor)\r\n numCards = numCards - 1\r\n if numCards == 0 then return end\r\n end\r\n end\r\n\r\n local deckSize = 1\r\n if drawDeck == nil then\r\n deckSize = 0\r\n elseif drawDeck.tag == \"Deck\" then\r\n deckSize = #drawDeck.getObjects()\r\n end\r\n\r\n if deckSize >= numCards then\r\n drawCards(numCards)\r\n return\r\n end\r\n\r\n drawCards(deckSize)\r\n if discardPile ~= nil then\r\n shuffleDiscardIntoDeck()\r\n Wait.time(|| drawCards(numCards - deckSize), 1)\r\n end\r\n printToColor(\"Take 1 horror (drawing card from empty deck)\", messageColor)\r\nend\r\n\r\n-- get the draw deck and discard pile objects\r\nfunction getDrawDiscardDecks()\r\n drawDeck = nil\r\n discardPile = nil\r\n topCard = nil\r\n\r\n local zone = getObjectFromGUID(zoneID)\r\n if zone == nil then return end\r\n\r\n for _, object in ipairs(zone.getObjects()) do\r\n if object.tag == \"Deck\" or object.tag == \"Card\" then\r\n if self.positionToLocal(object.getPosition()).z > 0.5 then\r\n discardPile = object\r\n -- Norman Withers handling\r\n elseif string.match(activeInvestigatorId, \"%d%d%d%d%d\") == \"08004\" and object.tag == \"Card\" and not object.is_face_down then\r\n topCard = object\r\n else\r\n drawDeck = object\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction drawCards(numCards)\r\n if drawDeck == nil then return end\r\n drawDeck.deal(numCards, playerColor)\r\nend\r\n\r\nfunction shuffleDiscardIntoDeck()\r\n if not discardPile.is_face_down then discardPile.flip() end\r\n discardPile.shuffle()\r\n discardPile.setPositionSmooth(self.positionToWorld(DRAW_DECK_POSITION), false, false)\r\n drawDeck = discardPile\r\n discardPile = nil\r\nend\r\n\r\n-- discard a random non-hidden card from hand\r\nfunction doDiscardOne()\r\n local hand = Player[playerColor].getHandObjects()\r\n if #hand == 0 then\r\n broadcastToAll(\"Cannot discard from empty hand!\", \"Red\")\r\n else\r\n local choices = {}\r\n for i = 1, #hand do\r\n local notes = JSON.decode(hand[i].getGMNotes())\r\n if notes ~= nil then\r\n if notes.hidden ~= true then\r\n table.insert(choices, i)\r\n end\r\n else\r\n table.insert(choices, i)\r\n end\r\n end\r\n\r\n if #choices == 0 then\r\n broadcastToAll(\"Hidden cards can't be randomly discarded.\", \"Orange\")\r\n return\r\n end\r\n\r\n -- get a random non-hidden card (from the \"choices\" table)\r\n local num = math.random(1, #choices)\r\n hand[choices[num]].setPosition(returnGlobalDiscardPosition())\r\n broadcastToAll(playerColor .. \" randomly discarded card \" .. choices[num] .. \"/\" .. #hand .. \".\", \"White\")\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- color related functions\r\n---------------------------------------------------------\r\n\r\n-- changes the player color\r\nfunction changeColor(clickedByColor)\r\n local colorList = {\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 }\r\n\r\n -- remove existing colors from the list of choices\r\n for _, existingColor in ipairs(Player.getAvailableColors()) do\r\n for i, newColor in ipairs(colorList) do\r\n if existingColor == newColor then\r\n table.remove(colorList, i)\r\n end\r\n end\r\n end\r\n\r\n -- show the option dialog for color selection to the player that triggered this\r\n Player[clickedByColor].showOptionsDialog(\"Select a new color:\", colorList, _, function(color)\r\n local HAND_ZONE_GUIDS = {\r\n \"a70eee\", -- White\r\n \"5fe087\", -- Orange\r\n \"0285cc\", -- Green\r\n \"be2f17\" -- Red\r\n }\r\n local index\r\n local startPos = self.getPosition()\r\n\r\n -- get respective hand zone by position\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n index = 1\r\n else\r\n index = 2\r\n end\r\n else\r\n if startPos.z > 0 then\r\n index = 3\r\n else\r\n index = 4\r\n end\r\n end\r\n\r\n -- update the color of the hand zone\r\n local handZone = getObjectFromGUID(HAND_ZONE_GUIDS[index])\r\n handZone.setValue(color)\r\n\r\n -- if the seated player clicked this, reseat him to the new color\r\n if clickedByColor == playerColor then\r\n navigationOverlayApi.copyVisibility(playerColor, color)\r\n Player[playerColor].changeColor(color)\r\n end\r\n\r\n -- update the internal variable\r\n playerColor = color\r\n end)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- playmat token spawning\r\n---------------------------------------------------------\r\n\r\n-- Finds all customizable cards in this play area and updates their metadata based on the selections\r\n-- on the matching upgrade sheet.\r\n-- This method is theoretically O(n^2), and should be used sparingly. In practice it will only be\r\n-- called when a checkbox is added or removed in-game (which should be rare), and is bounded by the\r\n-- number of customizable cards in play.\r\nfunction syncAllCustomizableCards()\r\n for _, card in ipairs(findCardsAroundSelf()) do\r\n syncCustomizableMetadata(card)\r\n end\r\nend\r\n\r\nfunction syncCustomizableMetadata(card)\r\n local cardMetadata = JSON.decode(card.getGMNotes()) or { }\r\n if cardMetadata == nil or cardMetadata.customizations == nil then\r\n return\r\n end\r\n for _, upgradeSheet in ipairs(findCardsAroundSelf()) do\r\n local upgradeSheetMetadata = JSON.decode(upgradeSheet.getGMNotes()) or { }\r\n if upgradeSheetMetadata.id == (cardMetadata.id .. \"-c\") then\r\n for i, customization in ipairs(cardMetadata.customizations) do\r\n if customization.replaces ~= nil and customization.replaces.uses ~= nil then\r\n -- Allowed use of call(), no APIs for individual cards\r\n if upgradeSheet.call(\"isUpgradeActive\", i) then\r\n cardMetadata.uses = customization.replaces.uses\r\n card.setGMNotes(JSON.encode(cardMetadata))\r\n else\r\n -- TODO: Get the original metadata to restore it... maybe. This should only be\r\n -- necessary in the very unlikely case that a user un-checks a previously-full upgrade\r\n -- row while the card is in play. It will be much easier once the AllPlayerCardsApi is\r\n -- in place, so defer until it is\r\n end\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction spawnTokensFor(object)\r\n local extraUses = { }\r\n if activeInvestigatorId == \"03004\" then\r\n extraUses[\"Charge\"] = 1\r\n end\r\n\r\n tokenManager.spawnForCard(object, extraUses)\r\nend\r\n\r\nfunction onCollisionEnter(collision_info)\r\n local object = collision_info.collision_object\r\n\r\n -- detect if \"Dream-Enhancing Serum\" is placed\r\n if object.getName() == \"Dream-Enhancing Serum\" then isDES = true end\r\n\r\n -- only continue if loading is completed\r\n if not collisionEnabled then return end\r\n\r\n -- only continue for cards\r\n if object.name ~= \"Card\" and object.name ~= \"CardCustom\" then return end\r\n\r\n maybeUpdateActiveInvestigator(object)\r\n syncCustomizableMetadata(object)\r\n\r\n if isInDeckZone(object) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(object)\r\n elseif shouldSpawnTokens(object) then\r\n spawnTokensFor(object)\r\n end\r\nend\r\n\r\n-- detect if \"Dream-Enhancing Serum\" is removed\r\nfunction onCollisionExit(collision_info)\r\n if collision_info.collision_object.getName() == \"Dream-Enhancing Serum\" then isDES = false end\r\nend\r\n\r\n-- checks if tokens should be spawned for the provided card\r\nfunction shouldSpawnTokens(card)\r\n if card.is_face_down then\r\n return false\r\n end\r\n\r\n local localCardPos = self.positionToLocal(card.getPosition())\r\n local metadata = JSON.decode(card.getGMNotes())\r\n\r\n -- If no metadata we don't know the type, so only spawn in the main area\r\n if metadata == nil then\r\n return inArea(localCardPos, MAIN_PLAY_AREA)\r\n end\r\n\r\n -- Spawn tokens for assets and events on the main area\r\n if inArea(localCardPos, MAIN_PLAY_AREA)\r\n and (metadata.type == \"Asset\"\r\n or metadata.type == \"Event\") then\r\n return true\r\n end\r\n\r\n -- Spawn tokens for all encounter types in the threat area\r\n if inArea(localCardPos, THREAT_AREA)\r\n and (metadata.type == \"Treachery\"\r\n or metadata.type == \"Enemy\"\r\n or metadata.weakness) then\r\n return true\r\n end\r\n\r\n return false\r\nend\r\n\r\nfunction onObjectEnterContainer(container, object)\r\n Wait.frames(function() resetTokensIfInDeckZone(container, object) end, 1)\r\nend\r\n\r\nfunction resetTokensIfInDeckZone(container, object)\r\n if isInDeckZone(container) then\r\n tokenManager.resetTokensSpawned(object)\r\n removeTokensFromObject(container)\r\n end\r\nend\r\n\r\n-- checks if an object is in this mats deckzone\r\nfunction isInDeckZone(checkObject)\r\n local deckZone = getObjectFromGUID(zoneID)\r\n if deckZone == nil then\r\n return false\r\n end\r\n\r\n for _, obj in ipairs(deckZone.getObjects()) do\r\n if obj == checkObject then\r\n return true\r\n end\r\n end\r\n\r\n return false\r\nend\r\n\r\n-- removes tokens from the provided card/deck\r\nfunction removeTokensFromObject(object)\r\n for _, v in ipairs(searchArea(object.getPosition(), { 3, 1, 4 })) do\r\n local obj = v.hit_object\r\n\r\n if obj.getGUID() ~= \"4ee1f2\" and -- table\r\n obj ~= self and\r\n obj.type ~= \"Deck\" and\r\n obj.type ~= \"Card\" and\r\n obj.memo ~= nil and\r\n obj.getLock() == false and\r\n obj.getDescription() ~= \"Action Token\" and\r\n not tokenChecker.isChaosToken(obj) then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- investigator ID grabbing and skill tracker\r\n---------------------------------------------------------\r\n\r\nfunction maybeUpdateActiveInvestigator(card)\r\n if not inArea(self.positionToLocal(card.getPosition()), INVESTIGATOR_AREA) then return end\r\n\r\n local notes = JSON.decode(card.getGMNotes())\r\n local class\r\n\r\n if notes ~= nil and notes.type == \"Investigator\" and notes.id ~= nil then\r\n if notes.id == activeInvestigatorId then return end\r\n class = notes.class\r\n activeInvestigatorId = notes.id\r\n STAT_TRACKER.call(\"updateStats\", {notes.willpowerIcons, notes.intellectIcons, notes.combatIcons, notes.agilityIcons})\r\n elseif activeInvestigatorId ~= \"00000\" then\r\n class = \"Neutral\"\r\n activeInvestigatorId = \"00000\"\r\n STAT_TRACKER.call(\"updateStats\", {1, 1, 1, 1})\r\n else\r\n return\r\n end\r\n\r\n -- change state of action tokens\r\n local search = searchArea(self.positionToWorld({-1.1, 0.05, -0.27}), {4, 1, 1})\r\n local smallToken = nil\r\n local STATE_TABLE = {\r\n [\"Guardian\"] = 1,\r\n [\"Seeker\"] = 2,\r\n [\"Rogue\"] = 3,\r\n [\"Mystic\"] = 4,\r\n [\"Survivor\"] = 5,\r\n [\"Neutral\"] = 6\r\n }\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n if obj.getDescription() == \"Action Token\" and obj.getStateId() > 0 then\r\n if obj.getScale().x < 0.4 then\r\n smallToken = obj\r\n else\r\n setObjectState(obj, STATE_TABLE[class])\r\n end\r\n end\r\n end\r\n\r\n -- update the small token with special action for certain investigators\r\n local SPECIAL_ACTIONS = {\r\n [\"04002\"] = 8, -- Ursula Downs\r\n [\"01002\"] = 9, -- Daisy Walker\r\n [\"01502\"] = 9, -- Daisy Walker\r\n [\"01002-pb\"] = 9, -- Daisy Walker\r\n [\"06003\"] = 10, -- Tony Morgan\r\n [\"04003\"] = 11, -- Finn Edwards\r\n [\"08016\"] = 14 -- Bob Jenkins\r\n }\r\n\r\n if smallToken ~= nil then\r\n setObjectState(smallToken, SPECIAL_ACTIONS[activeInvestigatorId] or STATE_TABLE[class])\r\n end\r\nend\r\n\r\nfunction setObjectState(obj, stateId)\r\n if obj.getStateId() ~= stateId then obj.setState(stateId) end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- calls to 'Global' / functions for calls from outside\r\n---------------------------------------------------------\r\n\r\nfunction drawChaosTokenButton(_, _, isRightClick)\r\n Global.call(\"drawChaosToken\", {self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick})\r\nend\r\n\r\nfunction drawEncountercard(_, _, isRightClick)\r\n Global.call(\"drawEncountercard\", {self.positionToWorld(DRAWN_ENCOUNTER_CARD_OFFSET), self.getRotation(), isRightClick})\r\nend\r\n\r\nfunction returnGlobalDiscardPosition()\r\n return self.positionToWorld(DISCARD_PILE_POSITION)\r\nend\r\n\r\n-- Sets this playermat's draw 1 button to visible\r\n---@param visible Boolean. Whether the draw 1 button should be visible\r\nfunction showDrawButton(visible)\r\n isDrawButtonVisible = visible\r\n\r\n -- create the \"Draw 1\" button\r\n if isDrawButtonVisible then\r\n self.createButton({\r\n label = \"Draw 1\",\r\n click_function = \"doDrawOne\",\r\n function_owner = self,\r\n position = { 1.84, 0.1, -0.36 },\r\n scale = { 0.12, 0.12, 0.12 },\r\n width = 800,\r\n height = 280,\r\n font_size = 180\r\n })\r\n\r\n -- remove the \"Draw 1\" button\r\n else\r\n local buttons = self.getButtons()\r\n for i = 1, #buttons do\r\n if buttons[i].label == \"Draw 1\" then\r\n self.removeButton(buttons[i].index)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Spawns / destroys a clickable clue counter for this playmat with the correct amount of clues\r\n---@param showCounter Boolean Whether the clickable clue counter should be present\r\nfunction clickableClues(showCounter)\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n local clickerPos = CLUE_CLICKER.getPosition()\r\n local clueCount = 0\r\n\r\n if showCounter then\r\n -- current clue count\r\n clueCount = CLUE_COUNTER.getVar(\"exposedValue\")\r\n\r\n -- remove clues\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n\r\n -- set value for clue clickers\r\n CLUE_CLICKER.call(\"updateVal\", clueCount)\r\n\r\n -- move clue counters up\r\n clickerPos.y = 1.52\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n else\r\n -- current clue count\r\n clueCount = CLUE_CLICKER.getVar(\"val\")\r\n\r\n -- move clue counters down\r\n clickerPos.y = 1.3\r\n CLUE_CLICKER.setPosition(clickerPos)\r\n\r\n -- spawn clues\r\n local pos = self.positionToWorld({x = -1.12, y = 0.05, z = 0.7})\r\n for i = 1, clueCount do\r\n pos.y = pos.y + 0.045 * i\r\n tokenManager.spawnToken(pos, \"clue\", self.getRotation())\r\n end\r\n end\r\nend\r\n\r\n-- removes all clues (moving tokens to the trash and setting counters to 0)\r\nfunction removeClues()\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n\r\n CLUE_COUNTER.call(\"removeAllClues\")\r\n CLUE_CLICKER.call(\"updateVal\", 0)\r\nend\r\n\r\n-- reports the clue count\r\n---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\nfunction getClueCount(useClickableCounters)\r\n local count = 0\r\n\r\n if useClickableCounters then\r\n local CLUE_CLICKER = getObjectFromGUID(CLUE_CLICKER_GUID)\r\n count = tonumber(CLUE_CLICKER.getVar(\"val\"))\r\n else\r\n local CLUE_COUNTER = getObjectFromGUID(CLUE_COUNTER_GUID)\r\n count = tonumber(CLUE_COUNTER.getVar(\"exposedValue\"))\r\n end\r\n return count\r\nend\r\n\r\n-- Sets this playermat's snap points to limit snapping to matching card types or not. If matchTypes\r\n-- is true, the main card slot snap points will only snap assets, while the investigator area point\r\n-- will only snap Investigators. If matchTypes is false, snap points will be reset to snap all\r\n-- cards.\r\n---@param matchTypes Boolean. Whether snap points should only snap for the matching card types.\r\nfunction setLimitSnapsByType(matchTypes)\r\n local snaps = self.getSnapPoints()\r\n for i, snap in ipairs(snaps) do\r\n local snapPos = snap.position\r\n if inArea(snapPos, MAIN_PLAY_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Asset\" }\r\n else\r\n table.insert(snaps[i].tags, \"Asset\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n if inArea(snapPos, INVESTIGATOR_AREA) then\r\n local snapTags = snaps[i].tags\r\n if matchTypes then\r\n if snapTags == nil then\r\n snaps[i].tags = { \"Investigator\" }\r\n else\r\n table.insert(snaps[i].tags, \"Investigator\")\r\n end\r\n else\r\n snaps[i].tags = nil\r\n end\r\n end\r\n end\r\n self.setSnapPoints(snaps)\r\nend\r\n\r\n-- Simple method to check if the given point is in a specified area. Local use only,\r\n---@param point Vector. Point to check, only x and z values are relevant\r\n---@param bounds Table. Defined area to see if the point is within. See MAIN_PLAY_AREA for sample\r\n-- bounds definition.\r\n---@return Boolean. True if the point is in the area defined by bounds\r\nfunction inArea(point, bounds)\r\n return (point.x < bounds.upperLeft.x\r\n and point.x > bounds.lowerRight.x\r\n and point.z < bounds.upperLeft.z\r\n and point.z > bounds.lowerRight.z)\r\nend\r\n\r\n-- called by custom data helpers to add player card data\r\n---@param args table Contains only one entry, the GUID of the custom data helper\r\nfunction updatePlayerCards(args)\r\n local customDataHelper = getObjectFromGUID(args[1])\r\n local playerCardData = customDataHelper.getTable(\"PLAYER_CARD_DATA\")\r\n tokenManager.addPlayerCardData(playerCardData)\r\nend\r\n\r\n-- utility function for rounding\r\n---@param num Number Initial value\r\n---@param numDecimalPlaces Number Amount of decimal places\r\nfunction round(num, numDecimalPlaces)\r\n local mult = 10^(numDecimalPlaces or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\nend)\n__bundle_register(\"core/NavigationOverlayApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local NavigationOverlayApi = {}\r\n local HANDLER_GUID = \"797ede\"\r\n\r\n -- Copies the visibility for the Navigation overlay\r\n ---@param startColor String Color of the player to copy from\r\n ---@param targetColor String Color of the targeted player\r\n NavigationOverlayApi.copyVisibility = function(startColor, targetColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"copyVisibility\", {\r\n startColor = startColor,\r\n targetColor = targetColor\r\n })\r\n end\r\n\r\n -- Changes the Navigation Overlay view (\"Full View\" --> \"Play Areas\" --> \"Closed\" etc.)\r\n ---@param playerColor String Color of the player to update the visibility for\r\n NavigationOverlayApi.cycleVisibility = function(playerColor)\r\n getObjectFromGUID(HANDLER_GUID).call(\"cycleVisibility\", playerColor)\r\n end\r\n\r\n return NavigationOverlayApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"activeInvestigatorId\":\"00000\",\"isDrawButtonVisible\":false,\"playerColor\":\"Orange\",\"zoneID\":\"b047f8\"}", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": 0.118 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.865, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.0, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.18, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -1.36, - "y": 0.1, - "z": -0.28 - }, - "Tags": [ - "ActionToken" - ] - }, - { - "Position": { - "x": -0.631, - "y": 0.1, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.616, - "y": 0.102, - "z": 0.024 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.177, - "y": 0.101, - "z": 0.032 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -0.174, - "y": 0.099, - "z": 0.551 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.212, - "y": 0.1, - "z": 0.559 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.217, - "y": 0.1, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.602, - "y": 0.1, - "z": 0.033 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.605, - "y": 0.1, - "z": 0.555 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.977, - "y": 0.099, - "z": 0.556 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 0.98, - "y": 0.099, - "z": 0.035 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.1, - "z": 0.038 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.371, - "y": 0.099, - "z": 0.558 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.754, - "y": 0.1, - "z": 0.563 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": 1.758, - "y": 0.101, - "z": 0.04 - }, - "Tags": [ - "Asset" - ] - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.61 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.82, - "y": 0.1, - "z": 0.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.177, - "y": 0.1, - "z": 0.0 - }, - "Tags": [ - "Investigator" - ] - }, - { - "Position": { - "x": 1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.455, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.91, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.365, - "y": 0.1, - "z": -0.625 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - } - ] - }, - { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.199, - "posY": 1.55000031, - "posZ": -24.8430042, - "rotX": 7.55192E-09, - "rotY": 270.0, - "rotZ": 4.682155E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -24.842802, - "rotX": 1.85032036E-07, - "rotY": 269.987671, - "rotZ": 1.15851122E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "748245", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.199, - "posY": 1.55000019, - "posZ": -23.6850014, - "rotX": 3.296108E-08, - "rotY": 270.0, - "rotZ": 2.87346555E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4e9da", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -23.6854019, - "rotX": 1.70445119E-07, - "rotY": 269.987671, - "rotZ": -1.60111384E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "271b17", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.199, - "posY": 1.55000019, - "posZ": -22.5280018, - "rotX": 8.88038159E-08, - "rotY": 270.0, - "rotZ": 5.22059942E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "0bcce1", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1985855, - "posY": 1.55004013, - "posZ": -22.5279942, - "rotX": 359.983826, - "rotY": 269.989624, - "rotZ": 359.9841, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5bafdf", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.2, - "posY": 1.55000019, - "posZ": -21.637, - "rotX": 5.267285E-10, - "rotY": 270.0, - "rotZ": -2.843369E-08, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "2375d6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1995964, - "posY": 1.60133862, - "posZ": -21.6608963, - "rotX": 359.911682, - "rotY": 269.835083, - "rotZ": 353.387177, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "012577", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.2, - "posY": 1.55000019, - "posZ": 10.5379992, - "rotX": 3.556158E-08, - "rotY": 270.0, - "rotZ": -1.32046267E-08, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "2375d6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1995964, - "posY": 1.60133862, - "posZ": -21.6608963, - "rotX": 359.911682, - "rotY": 269.835083, - "rotZ": 353.387177, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "04765b", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.2, - "posY": 1.55000019, - "posZ": 9.669999, - "rotX": -1.69976051E-08, - "rotY": 270.0, - "rotZ": 6.52622E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "0bcce1", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1985855, - "posY": 1.55004013, - "posZ": -22.5279942, - "rotX": 359.983826, - "rotY": 269.989624, - "rotZ": 359.9841, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "b71036", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.2, - "posY": 1.55000019, - "posZ": 8.512998, - "rotX": 5.982123E-07, - "rotY": 269.999878, - "rotZ": -2.6566554E-06, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4e9da", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -23.6854019, - "rotX": 1.70445119E-07, - "rotY": 269.987671, - "rotZ": -1.60111384E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "1cb302", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.2, - "posY": 1.55000031, - "posZ": 7.354998, - "rotX": 1.22656814E-07, - "rotY": 269.999939, - "rotZ": -6.37196038E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -24.842802, - "rotX": 1.85032036E-07, - "rotY": 269.987671, - "rotZ": 1.15851122E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bbc5d4", - "Name": "Custom_Tile", - "Transform": { - "posX": -35.912, - "posY": 1.55000019, - "posZ": 24.8, - "rotX": -2.31462014E-08, - "rotY": -6.194709E-17, - "rotZ": 3.066859E-07, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "2375d6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1995964, - "posY": 1.60133862, - "posZ": -21.6608963, - "rotX": 359.911682, - "rotY": 269.835083, - "rotZ": 353.387177, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "429bb3", - "Name": "Custom_Tile", - "Transform": { - "posX": -36.78, - "posY": 1.55000019, - "posZ": 24.8, - "rotX": 2.792082E-07, - "rotY": -2.292292E-16, - "rotZ": -9.407937E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "0bcce1", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1985855, - "posY": 1.55004013, - "posZ": -22.5279942, - "rotX": 359.983826, - "rotY": 269.989624, - "rotZ": 359.9841, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "183dbe", - "Name": "Custom_Tile", - "Transform": { - "posX": -37.937, - "posY": 1.55000019, - "posZ": 24.8, - "rotX": 6.930922E-08, - "rotY": 1.71215071E-17, - "rotZ": 2.83076371E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4e9da", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -23.6854019, - "rotX": 1.70445119E-07, - "rotY": 269.987671, - "rotZ": -1.60111384E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "b80db6", - "Name": "Custom_Tile", - "Transform": { - "posX": -39.095, - "posY": 1.55000019, - "posZ": 24.8, - "rotX": 6.39347846E-08, - "rotY": 9.865944E-17, - "rotZ": 1.76829232E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -24.842802, - "rotX": 1.85032036E-07, - "rotY": 269.987671, - "rotZ": 1.15851122E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "af1927", - "Name": "Custom_Tile", - "Transform": { - "posX": -24.788, - "posY": 1.55000019, - "posZ": -24.8, - "rotX": 8.325574E-08, - "rotY": 180.0, - "rotZ": -3.53108724E-08, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "2375d6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1995964, - "posY": 1.60133862, - "posZ": -21.6608963, - "rotX": 359.911682, - "rotY": 269.835083, - "rotZ": 353.387177, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.35, - "scaleY": 0.6, - "scaleZ": 0.35 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.35, - "scaleY": 1.0, - "scaleZ": 0.35 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "0329cc", - "Name": "Custom_Tile", - "Transform": { - "posX": -23.92, - "posY": 1.55000007, - "posZ": -24.8, - "rotX": 4.48403732E-08, - "rotY": 180.0, - "rotZ": -2.3472532E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "0bcce1", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1985855, - "posY": 1.55004013, - "posZ": -22.5279942, - "rotX": 359.983826, - "rotY": 269.989624, - "rotZ": 359.9841, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5bec40", - "Name": "Custom_Tile", - "Transform": { - "posX": -22.763, - "posY": 1.55000007, - "posZ": -24.8, - "rotX": 1.26846075E-07, - "rotY": 180.0, - "rotZ": -5.979939E-08, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4e9da", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -23.6854019, - "rotX": 1.70445119E-07, - "rotY": 269.987671, - "rotZ": -1.60111384E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5825ca", - "Name": "Custom_Tile", - "Transform": { - "posX": -21.605, - "posY": 1.55000007, - "posZ": -24.8, - "rotX": 2.26040655E-07, - "rotY": 180.0, - "rotZ": -2.77598531E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059971, - "g": 0.247059971, - "b": 0.247059971 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -53.1986, - "posY": 1.55000019, - "posZ": -24.842802, - "rotX": 1.85032036E-07, - "rotY": 269.987671, - "rotZ": 1.15851122E-07, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "10": { - "GUID": "68f249", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120736/F53989F0806C796D180647A16C6BB4E9957F6DBF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120675/493ACE1FA05ED4DC96CC7F6D85B3488378C15DD2/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "1": { - "GUID": "e4b2b6", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242507, - "posY": 0.959991634, - "posZ": -3.66628647, - "rotX": 3.19422554E-07, - "rotY": 269.987976, - "rotZ": -9.157829E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450979, - "g": 0.329411745, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115014/6CBF573A12494524613C6280F558D4BED97CF007/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524115513/9CA3B804F167041F03C9E0687378FF7B5DCDE1B8/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "2691e1", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425337, - "posY": 0.959991634, - "posZ": -3.66629124, - "rotX": -1.84208129E-05, - "rotY": 269.9878, - "rotZ": -0.000116128736, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.247059911, - "g": 0.247059911, - "b": 0.247059911 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120440/08045D95997033A4D64764850FC2B68C4FB12A3C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355435567056295/5A6DE2C637AADCD147723211020D8C0D0591EAE7/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425489, - "posY": 0.959991634, - "posZ": -3.66629434, - "rotX": -2.77218132E-05, - "rotY": 269.987732, - "rotZ": -0.000125872859, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - "11": { - "GUID": "befce9", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970487, - "posY": 0.959991634, - "posZ": -5.93830156, - "rotX": -7.6235865E-06, - "rotY": 269.9841, - "rotZ": -0.000118024727, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Evade Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119692/042FBF813801CFDF4FEDA9ED3205D331842975FA/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119623/2244A30B5EBB4126F0BE1D2FF61F6C824DFEE58D/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "b439e3", - "Name": "Custom_Tile", - "Transform": { - "posX": -8.970486, - "posY": 0.959991634, - "posZ": -7.074313, - "rotX": 1.33775629E-05, - "rotY": 269.988464, - "rotZ": -9.81453049E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Parley Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666646, - "g": 0.2823527, - "b": 0.2117644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120607/0D0F1B80B4E6A20B4728F1F7582FF09C1D4A3B9F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120530/79626D1941BEE2D2A310FD4B7C8E3CE90E6820AB/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "f72f18", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.834444, - "posY": 0.9599933, - "posZ": -3.666303, - "rotX": -9.30833849E-05, - "rotY": 269.979767, - "rotZ": -1.40167895E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Spell Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568251, - "g": 0.07058794, - "b": 0.380391777 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121138/A5506FADCE917AA99925516A147E0320322B5BDD/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121068/E62DCFA57CE5FE6AF021A2F07C6650323BE19C93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "bbd286", - "Name": "Custom_Tile", - "Transform": { - "posX": -7.83447456, - "posY": 0.9599919, - "posZ": -4.80229, - "rotX": -1.81347659E-05, - "rotY": 269.9885, - "rotZ": -0.000124786486, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Play Item Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646806, - "b": 0.176470339 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119839/A92D5AF13B283117BD62EE84B657A3A71FBBD274/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119758/EE686A3287D3399347AD72140474F599585E68D5/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "11508f", - "Name": "Custom_Model", - "Transform": { - "posX": -7.83447456, - "posY": 1.019994, - "posZ": -5.93830156, - "rotX": 7.209413E-05, - "rotY": 269.988525, - "rotZ": 2.00837931E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Guardian", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "8888ff", - "Name": "Custom_Model", - "Transform": { - "posX": -7.834475, - "posY": 1.01999056, - "posZ": -7.074312, - "rotX": -8.478706E-05, - "rotY": 270.009827, - "rotZ": -7.123187E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "7f001b", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698466, - "posY": 1.01999128, - "posZ": -3.66628671, - "rotX": 7.766587E-05, - "rotY": 270.000031, - "rotZ": 0.000128919462, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "6bd479", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.019991, - "posZ": -4.80229, - "rotX": 8.96203055E-05, - "rotY": 269.999969, - "rotZ": 0.000128821237, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "172d0e", - "Name": "Custom_Model", - "Transform": { - "posX": -6.69846535, - "posY": 1.01999176, - "posZ": -5.938301, - "rotX": 0.000100863988, - "rotY": 270.000061, - "rotZ": 7.39920142E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "45b80c", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425117, - "posY": 0.959991634, - "posZ": -3.66628766, - "rotX": -1.12005034E-06, - "rotY": 269.987976, - "rotZ": -9.159232E-05, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Seeker", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121002/727C40B7A122B3EC91AD1EF76741A9888E1FF0FF/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120939/5A99D70BBAA96A7CCE94CBAA01BC8C9352F59174/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "2d0664", - "Name": "Custom_Model", - "Transform": { - "posX": -6.698465, - "posY": 1.01999319, - "posZ": -7.07431269, - "rotX": 7.148875E-05, - "rotY": 270.000122, - "rotZ": 9.776296E-05, - "scaleX": 0.45, - "scaleY": 0.6, - "scaleZ": 0.45 - }, - "Nickname": "Neutral", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "https://pastebin.com/raw/ALrYhQGb", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/950722873599303195/BAB8BB40C755C099128931212969243EFF56ED39/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 4, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "6cd9a4", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425175, - "posY": 0.959991634, - "posZ": -3.66628838, - "rotX": -1.36311965E-05, - "rotY": 269.987885, - "rotZ": -0.00010959358, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Rogue", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.06666643, - "g": 0.282352656, - "b": 0.211764365 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120870/FFA52250CDBE4067D16226E7B4C8D2E6BF263C5B/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120799/1AA70B46183E3DC9981CD93D0A289D456C368B15/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "484748", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425222, - "posY": 0.959991634, - "posZ": -3.66628933, - "rotX": -1.48262206E-05, - "rotY": 269.987854, - "rotZ": -0.000109348286, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Mystic", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.321568221, - "g": 0.07058791, - "b": 0.380391747 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120299/D6B1AAFF9763CD6F410D56A716D731714DE34EF8/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120230/08DDB68E10023CC76B9450989F3526F9744A9F77/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "59124e", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.242528, - "posY": 0.959991634, - "posZ": -3.66629028, - "rotX": -2.09040336E-05, - "rotY": 269.9878, - "rotZ": -0.000119170043, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Survivor", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.745098054, - "g": 0.117646776, - "b": 0.176470309 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121301/8A83B84C4EC594D48259904616769E84C5191F83/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121217/CBDB66CA029638728CE27CCBD335BDCFF25B6BCE/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "29d645", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425385, - "posY": 0.959991634, - "posZ": -3.66629219, - "rotX": -2.87290841E-05, - "rotY": 269.9878, - "rotZ": -0.000127649575, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Guardian Engage/Fight Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.07450976, - "g": 0.3294117, - "b": 0.647058845 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119975/196A6AB09BE31462712BA7DF6F6698762B3FC98D/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524119903/366BC6E113AE8B9BE480617CEC6BE564CF37CE93/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "85047f", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425432, - "posY": 0.959991634, - "posZ": -3.66629314, - "rotX": -2.93503817E-05, - "rotY": 269.987823, - "rotZ": -0.000127514912, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Investigate Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195674 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120154/9E0936305F807390EBA6AB130E498BFEDBA7596C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524120070/74F06CA8602C110158A32ADFF9E1FC1FB858612B/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "2c6c38", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.2425547, - "posY": 0.959991634, - "posZ": -3.66629553, - "rotX": -2.61616078E-05, - "rotY": 269.987671, - "rotZ": -0.00012405579, - "scaleX": 0.45, - "scaleY": 1.0, - "scaleZ": 0.45 - }, - "Nickname": "Tome Action", - "Description": "Action Token", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.894117653, - "g": 0.5803921, - "b": 0.290195644 - }, - "Tags": [ - "ActionToken" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121455/F21B46B06BBF327601B4F8A5F9F00974149A6752/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037355191524121381/43FEB2F56E57A5B72E6E7F02E138539D5BB42AC1/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "acaa93", - "Name": "Custom_Token", - "Transform": { - "posX": -45.0000038, - "posY": 1.62000012, - "posZ": -1.071021E-08, - "rotX": -2.09310073E-07, - "rotY": 270.0, - "rotZ": 6.13498443E-08, - "scaleX": 0.61, - "scaleY": 1.0, - "scaleZ": 0.61 - }, - "Nickname": "Lead Investigator", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1831270385988747395/976427BD8F86E2C57C2D1370FE838991DEA6DD0F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.2, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a28140", - "Name": "Custom_Tile", - "Transform": { - "posX": -17.5, - "posY": 1.481, - "posZ": 71.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 10.0, - "scaleY": 1.0, - "scaleZ": 10.0 - }, - "Nickname": "ArkhamDB Deck Importer", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": true, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/wDp1Woo.jpg", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"arkhamdb/ArkhamDb\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local playAreaApi = require(\"core/PlayAreaApi\")\r\n local ArkhamDb = { }\r\n local internal = { }\r\n\r\n local RANDOM_WEAKNESS_ID = \"01000\"\r\n\r\n local tabooList = { }\r\n --Forward declaration\r\n ---@type Request\r\n local Request = {}\r\n local configuration\r\n\r\n -- Sets up the ArkhamDb interface. Should be called from the parent object on load.\r\n ArkhamDb.initialize = function()\r\n configuration = internal.getConfiguration()\r\n Request.start({ configuration.api_uri, configuration.taboo }, function(status)\r\n local json = JSON.decode(internal.fixUtf16String(status.text))\r\n for _, taboo in pairs(json) do\r\n ---@type \r\n local cards = {}\r\n\r\n for _, card in pairs(JSON.decode(taboo.cards)) do\r\n cards[card.code] = true\r\n end\r\n\r\n tabooList[taboo.id] = {\r\n date = taboo.date_start,\r\n cards = cards\r\n }\r\n end\r\n return true, nil\r\n end)\r\n end\r\n\r\n -- Start the deck build process for the given player color and deck ID. This\r\n -- will retrieve the deck from ArkhamDB, and pass to a callback for processing.\r\n ---@param playerColor String. Color name of the player mat to place this deck on (e.g. \"Red\").\r\n ---@param deckId String. ArkhamDB deck id to be loaded\r\n ---@param isPrivate Boolean. Whether this deck is published or private on ArkhamDB\r\n ---@param loadNewest Boolean. Whether the newest version of this deck should be loaded\r\n ---@param loadInvestigators Boolean. Whether investigator cards should be loaded as part of this\r\n --- deck\r\n ---@param callback Function. Callback which will be sent the results of this load. Parameters\r\n --- to the callback will be:\r\n --- slots Table. A map of card ID to count in the deck\r\n --- investigatorCode String. ID of the investigator in this deck\r\n --- customizations Table. The decoded table of customization upgrades in this deck\r\n --- playerColor String. Color this deck is being loaded for\r\n ArkhamDb.getDecklist = function(\r\n playerColor,\r\n deckId,\r\n isPrivate,\r\n loadNewest,\r\n loadInvestigators,\r\n callback)\r\n -- Get a simple card to see if the bag indexes are complete. If not, abort\r\n -- the deck load. The called method will handle player notification.\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n local checkCard = allCardsBag.call(\"getCardById\", { id = \"01001\" })\r\n if (checkCard ~= nil and checkCard.data == nil) then\r\n return\r\n end\r\n\r\n local deckUri = { configuration.api_uri,\r\n isPrivate and configuration.private_deck or configuration.public_deck, deckId }\r\n\r\n local deck = Request.start(deckUri, function(status)\r\n if string.find(status.text, \"\") then\r\n internal.maybePrint(\"Private deck ID \" .. deckId .. \" is not shared\", playerColor)\r\n return false, table.concat({ \"Private deck \", deckId, \" is not shared\" })\r\n end\r\n local json = JSON.decode(status.text)\r\n\r\n if not json then\r\n internal.maybePrint(\"Deck ID \" .. deckId .. \" not found\", playerColor)\r\n return false, \"Deck not found!\"\r\n end\r\n\r\n return true, json\r\n end)\r\n\r\n deck:with(internal.onDeckResult, playerColor, loadNewest, loadInvestigators, callback)\r\n end\r\n\r\n -- Logs that a card could not be loaded in the mod by printing it to the console in the given\r\n -- color of the player owning the deck. Attempts to look up the name on ArkhamDB for clarity,\r\n -- but prints the card ID if the name cannot be retrieved.\r\n ---@param cardId String. ArkhamDB ID of the card that could not be found\r\n ---@param playerColor String. Color of the player's deck that had the problem\r\n ArkhamDb.logCardNotFound = function(cardId, playerColor)\r\n local request = Request.start({\r\n configuration.api_uri,\r\n configuration.cards,\r\n cardId\r\n },\r\n function(result)\r\n local adbCardInfo = JSON.decode(internal.fixUtf16String(result.text))\r\n local cardName = adbCardInfo.real_name\r\n if (cardName ~= nil) then\r\n if (adbCardInfo.xp ~= nil and adbCardInfo.xp > 0) then\r\n cardName = cardName .. \" (\" .. adbCardInfo.xp .. \")\"\r\n end\r\n internal.maybePrint(\"Card not found: \" .. cardName .. \", ArkhamDB ID \" .. cardId, playerColor)\r\n else\r\n internal.maybePrint(\"Card not found in ArkhamDB, ID \" .. cardId, playerColor)\r\n end\r\n end)\r\n end\r\n\r\n -- Callback when the deck information is received from ArkhamDB. Parses the\r\n -- response then applies standard transformations to the deck such as adding\r\n -- random weaknesses and checking for taboos. Once the deck is processed,\r\n -- passes to loadCards to actually spawn the defined deck.\r\n ---@param deck ArkhamImportDeck\r\n ---@param playerColor String Color name of the player mat to place this deck on (e.g. \"Red\")\r\n ---@param loadNewest Boolean Whether the newest version of this deck should be loaded\r\n ---@param loadInvestigators Boolean Whether investigator cards should be loaded as part of this\r\n --- deck\r\n ---@param callback Function Callback which will be sent the results of this load. Parameters\r\n --- to the callback will be:\r\n --- slots Table. A map of card ID to count in the deck\r\n --- investigatorCode String. ID of the investigator in this deck\r\n --- bondedList A table of cardID keys to meaningless values. Card IDs in this list were\r\n --- added from a parent bonded card.\r\n --- customizations Table. The decoded table of customization upgrades in this deck\r\n --- playerColor String. Color this deck is being loaded for\r\n internal.onDeckResult = function(deck, playerColor, loadNewest, loadInvestigators, callback)\r\n -- Load the next deck in the upgrade path if the option is enabled\r\n if (loadNewest and deck.next_deck ~= nil and deck.next_deck ~= \"\") then\r\n buildDeck(playerColor, deck.next_deck)\r\n return\r\n end\r\n\r\n internal.maybePrint(table.concat({ \"Found decklist: \", deck.name }), playerColor)\r\n\r\n -- Initialize deck slot table and perform common transformations. The order of these should not\r\n -- be changed, as later steps may act on cards added in each. For example, a random weakness or\r\n -- investigator may have bonded cards or taboo entries, and should be present\r\n local slots = deck.slots\r\n internal.maybeDrawRandomWeakness(slots, playerColor)\r\n local loadAltInvestigator = \"normal\"\r\n if loadInvestigators then\r\n loadAltInvestigator = internal.addInvestigatorCards(deck, slots)\r\n end\r\n internal.maybeAddCustomizeUpgradeSheets(slots)\r\n internal.maybeAddSummonedServitor(slots)\r\n internal.maybeAddOnTheMend(slots, playerColor)\r\n internal.maybeAddRealityAcidReference(slots)\r\n local bondList = internal.extractBondedCards(slots)\r\n internal.checkTaboos(deck.taboo_id, slots, playerColor)\r\n\r\n -- get upgrades for customizable cards\r\n local customizations = {}\r\n if deck.meta then\r\n customizations = JSON.decode(deck.meta)\r\n end\r\n\r\n callback(slots, deck.investigator_code, bondList, customizations, playerColor, loadAltInvestigator)\r\n end\r\n\r\n -- Checks to see if the slot list includes the random weakness ID. If it does,\r\n -- removes it from the deck and replaces it with the ID of a random basic weakness provided by the\r\n -- all cards bag\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n --- of those cards which will be spawned\r\n ---@param playerColor String Color of the player this deck is being loaded for. Used for broadcast\r\n --- if a weakness is added.\r\n internal.maybeDrawRandomWeakness = function(slots, playerColor)\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n local randomWeaknessAmount = slots[RANDOM_WEAKNESS_ID] or 0\r\n slots[RANDOM_WEAKNESS_ID] = nil\r\n\r\n if randomWeaknessAmount ~= 0 then\r\n for i=1, randomWeaknessAmount do\r\n local weaknessId = allCardsBag.call(\"getRandomWeaknessId\")\r\n slots[weaknessId] = (slots[weaknessId] or 0) + 1\r\n end\r\n internal.maybePrint(\"Added \" .. randomWeaknessAmount .. \" random basic weakness(es) to deck\", playerColor)\r\n end\r\n end\r\n\r\n -- Adds both the investigator (XXXXX) and minicard (XXXXX-m) slots with one copy each\r\n ---@param deck Table The processed ArkhamDB deck response\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the\r\n --- number of those cards which will be spawned\r\n ---@return string: Contains the name of the art that should be loaded (\"normal\", \"promo\" or \"revised\")\r\n internal.addInvestigatorCards = function(deck, slots)\r\n local investigatorId = deck.investigator_code\r\n slots[investigatorId .. \"-m\"] = 1\r\n local deckMeta = JSON.decode(deck.meta)\r\n -- handling alternative investigator art and parallel investigators\r\n local loadAltInvestigator = \"normal\"\r\n if deckMeta ~= nil then\r\n local altFrontId = tonumber(deckMeta.alternate_front) or 0\r\n local altBackId = tonumber(deckMeta.alternate_back) or 0\r\n local altArt = { front = \"normal\", back = \"normal\" }\r\n\r\n -- translating front ID\r\n if altFrontId > 90000 and altFrontId < 90047 then\r\n altArt.front = \"parallel\"\r\n elseif altFrontId > 01500 and altFrontId < 01506 then\r\n altArt.front = \"revised\"\r\n elseif altFrontId > 98000 then\r\n altArt.front = \"promo\"\r\n end\r\n\r\n -- translating back ID\r\n if altBackId > 90000 and altBackId < 90047 then\r\n altArt.back = \"parallel\"\r\n elseif altBackId > 01500 and altBackId < 01506 then\r\n altArt.back = \"revised\"\r\n elseif altBackId > 98000 then\r\n altArt.back = \"promo\"\r\n end\r\n\r\n -- updating investigatorID based on alt investigator selection\r\n -- precedence: parallel > promo > revised\r\n if altArt.front == \"parallel\" then\r\n if altArt.back == \"parallel\" then\r\n investigatorId = investigatorId .. \"-p\"\r\n else\r\n investigatorId = investigatorId .. \"-pf\"\r\n end\r\n elseif altArt.back == \"parallel\" then\r\n investigatorId = investigatorId .. \"-pb\"\r\n elseif altArt.front == \"promo\" or altArt.back == \"promo\" then\r\n loadAltInvestigator = \"promo\"\r\n elseif altArt.front == \"revised\" or altArt.back == \"revised\" then\r\n loadAltInvestigator = \"revised\"\r\n end\r\n end\r\n slots[investigatorId] = 1\r\n deck.investigator_code = investigatorId\r\n return loadAltInvestigator\r\n end\r\n\r\n -- Process the card list looking for the customizable cards, and add their upgrade sheets if needed\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n internal.maybeAddCustomizeUpgradeSheets = function(slots)\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n for cardId, _ in pairs(slots) do\r\n -- upgrade sheets for customizable cards\r\n local upgradesheet = allCardsBag.call(\"getCardById\", { id = cardId .. \"-c\" })\r\n if upgradesheet ~= nil then\r\n slots[cardId .. \"-c\"] = 1\r\n end\r\n end\r\n end\r\n\r\n -- Process the card list looking for the Summoned Servitor, and add its minicard to the list if\r\n -- needed\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n internal.maybeAddSummonedServitor = function(slots)\r\n if slots[\"09080\"] ~= nil then\r\n slots[\"09080-m\"] = 1\r\n end\r\n end\r\n\r\n -- On the Mend should have 1-per-investigator copies set aside, but ArkhamDB always sends 1. Update\r\n -- the count based on the investigator count\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n ---@param playerColor String Color of the player this deck is being loaded for. Used for broadcast if an error occurs\r\n internal.maybeAddOnTheMend = function(slots, playerColor)\r\n if slots[\"09006\"] ~= nil then\r\n local investigatorCount = playAreaApi.getInvestigatorCount()\r\n if investigatorCount ~= nil then\r\n slots[\"09006\"] = investigatorCount\r\n else\r\n internal.maybePrint(\"Something went wrong with the load, adding 4 copies of On the Mend\", playerColor)\r\n slots[\"09006\"] = 4\r\n end\r\n end\r\n end\r\n\r\n -- Process the card list looking for Reality Acid and adds the reference sheet when needed\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n internal.maybeAddRealityAcidReference = function(slots)\r\n if slots[\"89004\"] ~= nil then\r\n slots[\"89005\"] = 1\r\n end\r\n end\r\n\r\n -- Process the slot list and looks for any cards which are bonded to those in the deck. Adds those cards to the slot list.\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned\r\n internal.extractBondedCards = function(slots)\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n -- Create a list of bonded cards first so we don't modify slots while iterating\r\n local bondedCards = { }\r\n local bondedList = { }\r\n for cardId, cardCount in pairs(slots) do\r\n local card = allCardsBag.call(\"getCardById\", { id = cardId })\r\n if (card ~= nil and card.metadata.bonded ~= nil) then\r\n for _, bond in ipairs(card.metadata.bonded) do\r\n bondedCards[bond.id] = bond.count\r\n -- We need to know which cards are bonded to determine their position, remember them\r\n bondedList[bond.id] = true\r\n -- Also adding taboo versions of bonded cards to the list\r\n bondedList[bond.id .. \"-t\"] = true\r\n end\r\n end\r\n end\r\n -- Add any bonded cards to the main slots list\r\n for bondedId, bondedCount in pairs(bondedCards) do\r\n slots[bondedId] = bondedCount\r\n end\r\n\r\n return bondedList\r\n end\r\n\r\n -- Check the deck for cards on its taboo list. If they're found, replace the entry in the slot with the Taboo id (i.e. \"XXXX\" becomes \"XXXX-t\")\r\n ---@param tabooId String The deck's taboo ID, taken from the deck response taboo_id field. May be nil, indicating that no taboo list should be used\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned\r\n internal.checkTaboos = function(tabooId, slots, playerColor)\r\n if tabooId then\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n for cardId, _ in pairs(tabooList[tabooId].cards) do\r\n if slots[cardId] ~= nil then\r\n -- Make sure there's a taboo version of the card before we replace it\r\n -- SCED only maintains the most recent taboo cards. If a deck is using\r\n -- an older taboo list it's possible the card isn't a taboo any more\r\n local tabooCard = allCardsBag.call(\"getCardById\", { id = cardId .. \"-t\" })\r\n if tabooCard == nil then\r\n local basicCard = allCardsBag.call(\"getCardById\", { id = cardId })\r\n internal.maybePrint(\"Taboo version for \" .. basicCard.data.Nickname .. \" is not available. Using standard version\", playerColor)\r\n else\r\n slots[cardId .. \"-t\"] = slots[cardId]\r\n slots[cardId] = nil\r\n end\r\n end\r\n end\r\n end\r\n end\r\n\r\n internal.maybePrint = function(message, playerColor)\r\n if playerColor ~= \"None\" then\r\n printToAll(message, playerColor)\r\n end\r\n end\r\n\r\n -- Gets the ArkhamDB config info from the configuration object.\r\n ---@return Table. Configuration data\r\n internal.getConfiguration = function()\r\n local configuration = getObjectsWithTag(\"import_configuration_provider\")[1]:getTable(\"configuration\")\r\n printPriority = configuration.priority\r\n return configuration\r\n end\r\n\r\n internal.fixUtf16String = function(str)\r\n return str:gsub(\"\\\\u(%w%w%w%w)\", function(match)\r\n return string.char(tonumber(match, 16))\r\n end)\r\n end\r\n\r\n ---@type Request\r\n Request = {\r\n is_done = false,\r\n is_successful = false\r\n }\r\n\r\n -- Creates a new instance of a Request. Should not be directly called. Instead use Request.start and Request.deferred.\r\n ---@param uri string\r\n ---@param configure fun(request: Request, status: WebRequestStatus)\r\n ---@return Request\r\n function Request:new(uri, configure)\r\n local this = {}\r\n\r\n setmetatable(this, self)\r\n self.__index = self\r\n\r\n if type(uri) == \"table\" then\r\n uri = table.concat(uri, \"/\")\r\n end\r\n\r\n this.uri = uri\r\n\r\n WebRequest.get(uri, function(status)\r\n configure(this, status)\r\n end)\r\n\r\n return this\r\n end\r\n\r\n -- Creates a new request. on_success should set the request's is_done, is_successful, and content variables.\r\n -- Deferred should be used when you don't want to set is_done immediately (such as if you want to wait for another request to finish)\r\n ---@param uri string\r\n ---@param on_success fun(request: Request, status: WebRequestStatus, vararg any)\r\n ---@param on_error fun(status: WebRequestStatus)|nil\r\n ---@vararg any[]\r\n ---@return Request\r\n function Request.deferred(uri, on_success, on_error, ...)\r\n local parameters = table.pack(...)\r\n return Request:new(uri, function(request, status)\r\n if (status.is_done) then\r\n if (status.is_error) then\r\n request.error_message = on_error and on_error(status, table.unpack(parameters)) or status.error\r\n request.is_successful = false\r\n request.is_done = true\r\n else\r\n on_success(request, status)\r\n end\r\n end\r\n end)\r\n end\r\n\r\n -- Creates a new request. on_success should return weather the resultant data is as expected, and the processed content of the request.\r\n ---@param uri string\r\n ---@param on_success fun(status: WebRequestStatus, vararg any): boolean, any\r\n ---@param on_error nil|fun(status: WebRequestStatus, vararg any): string\r\n ---@vararg any[]\r\n ---@return Request\r\n function Request.start(uri, on_success, on_error, ...)\r\n local parameters = table.pack(...)\r\n return Request.deferred(uri, function(request, status)\r\n local result, message = on_success(status, table.unpack(parameters))\r\n if not result then request.error_message = message else request.content = message end\r\n request.is_successful = result\r\n request.is_done = true\r\n end, on_error, table.unpack(parameters))\r\n end\r\n\r\n ---@param requests Request[]\r\n ---@param on_success fun(content: any[], vararg any[])\r\n ---@param on_error fun(requests: Request[], vararg any[])|nil\r\n ---@vararg any\r\n function Request.with_all(requests, on_success, on_error, ...)\r\n local parameters = table.pack(...)\r\n\r\n Wait.condition(function()\r\n ---@type any[]\r\n local results = {}\r\n\r\n ---@type Request[]\r\n local errors = {}\r\n\r\n for _, request in ipairs(requests) do\r\n if request.is_successful then\r\n table.insert(results, request.content)\r\n else\r\n table.insert(errors, request)\r\n end\r\n end\r\n\r\n if (#errors <= 0) then\r\n on_success(results, table.unpack(parameters))\r\n elseif on_error == nil then\r\n for _, request in ipairs(errors) do\r\n internal.maybePrint(table.concat({ \"[ERROR]\", request.uri, \":\", request.error_message }))\r\n end\r\n else\r\n on_error(requests, table.unpack(parameters))\r\n end\r\n end, function()\r\n for _, request in ipairs(requests) do\r\n if not request.is_done then return false end\r\n end\r\n return true\r\n end)\r\n end\r\n\r\n ---@param callback fun(content: any, vararg any)\r\n function Request:with(callback, ...)\r\n local arguments = table.pack(...)\r\n Wait.condition(function()\r\n if self.is_successful then\r\n callback(self.content, table.unpack(arguments))\r\n end\r\n end, function() return self.is_done\r\n end)\r\n end\r\n\r\n return ArkhamDb\r\nend\r\nend)\n__bundle_register(\"arkhamdb/DeckImporterUi\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal INPUT_FIELD_HEIGHT = 340\r\nlocal INPUT_FIELD_WIDTH = 1500\r\nlocal FIELD_COLOR = { 0.9, 0.7, 0.5 }\r\n\r\nlocal PRIVATE_TOGGLE_LABELS = {}\r\nPRIVATE_TOGGLE_LABELS[true] = \"Private\"\r\nPRIVATE_TOGGLE_LABELS[false] = \"Published\"\r\n\r\nlocal UPGRADED_TOGGLE_LABELS = {}\r\nUPGRADED_TOGGLE_LABELS[true] = \"Upgraded\"\r\nUPGRADED_TOGGLE_LABELS[false] = \"Specific\"\r\n\r\nlocal LOAD_INVESTIGATOR_TOGGLE_LABELS = {}\r\nLOAD_INVESTIGATOR_TOGGLE_LABELS[true] = \"Yes\"\r\nLOAD_INVESTIGATOR_TOGGLE_LABELS[false] = \"No\"\r\n\r\nlocal redDeckId = \"\"\r\nlocal orangeDeckId = \"\"\r\nlocal whiteDeckId = \"\"\r\nlocal greenDeckId = \"\"\r\n\r\nlocal privateDeck = true\r\nlocal loadNewestDeck = true\r\nlocal loadInvestigators = false\r\n\r\n-- Returns a table with the full state of the UI, including options and deck IDs.\r\n-- This can be used to persist via onSave(), or provide values for a load operation\r\n-- Table values:\r\n-- redDeck: Deck ID to load for the red player\r\n-- orangeDeck: Deck ID to load for the orange player\r\n-- whiteDeck: Deck ID to load for the white player\r\n-- greenDeck: Deck ID to load for the green player\r\n-- private: True to load a private deck, false to load a public deck\r\n-- loadNewest: True if the most upgraded version of the deck should be loaded\r\n-- investigators: True if investigator cards should be spawned\r\nfunction getUiState()\r\n return {\r\n redDeck = redDeckId,\r\n orangeDeck = orangeDeckId,\r\n whiteDeck = whiteDeckId,\r\n greenDeck = greenDeckId,\r\n private = privateDeck,\r\n loadNewest = loadNewestDeck,\r\n investigators = loadInvestigators\r\n }\r\nend\r\n\r\n-- Updates the state of the UI based on the provided table. Any values not provided will be left the same.\r\n-- @param uiStateTable Table of values to update on importer\r\n-- Table values:\r\n-- redDeck: Deck ID to load for the red player\r\n-- orangeDeck: Deck ID to load for the orange player\r\n-- whiteDeck: Deck ID to load for the white player\r\n-- greenDeck: Deck ID to load for the green player\r\n-- private: True to load a private deck, false to load a public deck\r\n-- loadNewest: True if the most upgraded version of the deck should be loaded\r\n-- investigators: True if investigator cards should be spawned\r\nfunction setUiState(uiStateTable)\r\n -- Callback functions aren't triggered when editing buttons/inputs so values must be set manually\r\n\r\n if uiStateTable[\"greenDeck\"] then\r\n greenDeckId = uiStateTable[\"greenDeck\"]\r\n self.editInput({index=0, value=greenDeckId})\r\n end\r\n if uiStateTable[\"redDeck\"] then\r\n redDeckId = uiStateTable[\"redDeck\"]\r\n self.editInput({index=1, value=redDeckId})\r\n end\r\n if uiStateTable[\"whiteDeck\"] then\r\n whiteDeckId = uiStateTable[\"whiteDeck\"]\r\n self.editInput({index=2, value=whiteDeckId})\r\n end\r\n if uiStateTable[\"orangeDeck\"]then\r\n orangeDeckId = uiStateTable[\"orangeDeck\"]\r\n self.editInput({index=3, value=orangeDeckId})\r\n end\r\n if uiStateTable[\"private\"] then\r\n privateDeck = uiStateTable[\"private\"]\r\n self.editButton { index = 0, label = PRIVATE_TOGGLE_LABELS[privateDeck] }\r\n end\r\n if uiStateTable[\"loadNewest\"] then\r\n loadNewestDeck = uiStateTable[\"loadNewest\"]\r\n self.editButton { index = 1, label = UPGRADED_TOGGLE_LABELS[loadNewestDeck] }\r\n end\r\n if uiStateTable[\"investigators\"] then\r\n loadInvestigators = uiStateTable[\"investigators\"]\r\n self.editButton { index = 2, label = LOAD_INVESTIGATOR_TOGGLE_LABELS[loadInvestigators] }\r\n end\r\nend\r\n\r\n-- Sets up the UI for the deck loader, populating fields from the given save state table decoded from onLoad()\r\nfunction initializeUi(savedUiState)\r\n if savedUiState ~= nil then\r\n redDeckId = savedUiState.redDeck\r\n orangeDeckId = savedUiState.orangeDeck\r\n whiteDeckId = savedUiState.whiteDeck\r\n greenDeckId = savedUiState.greenDeck\r\n privateDeck = savedUiState.private\r\n loadNewestDeck = savedUiState.loadNewest\r\n loadInvestigators = savedUiState.investigators\r\n end\r\n\r\n makeOptionToggles()\r\n makeDeckIdFields()\r\n makeBuildButton()\r\nend\r\n\r\nfunction makeOptionToggles()\r\n -- common parameters\r\n local checkbox_parameters = {}\r\n checkbox_parameters.function_owner = self\r\n checkbox_parameters.width = INPUT_FIELD_WIDTH\r\n checkbox_parameters.height = INPUT_FIELD_HEIGHT\r\n checkbox_parameters.scale = { 0.1, 0.1, 0.1 }\r\n checkbox_parameters.font_size = 240\r\n checkbox_parameters.hover_color = { 0.4, 0.6, 0.8 }\r\n checkbox_parameters.color = FIELD_COLOR\r\n\r\n -- public / private deck\r\n checkbox_parameters.click_function = \"publicPrivateChanged\"\r\n checkbox_parameters.position = { 0.25, 0.1, -0.102 }\r\n checkbox_parameters.tooltip = \"Published or private deck?\\n\\nPLEASE USE A PRIVATE DECK IF JUST FOR TTS TO AVOID FLOODING ARKHAMDB PUBLISHED DECK LISTS!\"\r\n checkbox_parameters.label = PRIVATE_TOGGLE_LABELS[privateDeck]\r\n self.createButton(checkbox_parameters)\r\n\r\n -- load upgraded?\r\n checkbox_parameters.click_function = \"loadUpgradedChanged\"\r\n checkbox_parameters.position = { 0.25, 0.1, -0.01 }\r\n checkbox_parameters.tooltip = \"Load newest upgrade or exact deck?\"\r\n checkbox_parameters.label = UPGRADED_TOGGLE_LABELS[loadNewestDeck]\r\n self.createButton(checkbox_parameters)\r\n\r\n -- load investigators?\r\n checkbox_parameters.click_function = \"loadInvestigatorsChanged\"\r\n checkbox_parameters.position = { 0.25, 0.1, 0.081 }\r\n checkbox_parameters.tooltip = \"Spawn investigator cards?\"\r\n checkbox_parameters.label = LOAD_INVESTIGATOR_TOGGLE_LABELS[loadInvestigators]\r\n self.createButton(checkbox_parameters)\r\nend\r\n\r\n-- Create the four deck ID entry fields\r\nfunction makeDeckIdFields()\r\n local input_parameters = {}\r\n -- Parameters common to all entry fields\r\n input_parameters.function_owner = self\r\n input_parameters.scale = { 0.1, 0.1, 0.1 }\r\n input_parameters.width = INPUT_FIELD_WIDTH\r\n input_parameters.height = INPUT_FIELD_HEIGHT\r\n input_parameters.font_size = 320\r\n input_parameters.tooltip = \"Deck ID from ArkhamDB URL of the deck\\nPublic URL: 'https://arkhamdb.com/decklist/view/101/knowledge-overwhelming-solo-deck-1.0' = '101'\\nPrivate URL: 'https://arkhamdb.com/deck/view/102' = '102'\"\r\n input_parameters.alignment = 3 -- Center\r\n input_parameters.color = FIELD_COLOR\r\n input_parameters.font_color = { 0, 0, 0 }\r\n input_parameters.validation = 2 -- Integer\r\n\r\n -- Green\r\n input_parameters.input_function = \"greenDeckChanged\"\r\n input_parameters.position = { -0.166, 0.1, 0.385 }\r\n input_parameters.value = greenDeckId\r\n self.createInput(input_parameters)\r\n -- Red\r\n input_parameters.input_function = \"redDeckChanged\"\r\n input_parameters.position = { 0.171, 0.1, 0.385 }\r\n input_parameters.value = redDeckId\r\n self.createInput(input_parameters)\r\n -- White\r\n input_parameters.input_function = \"whiteDeckChanged\"\r\n input_parameters.position = { -0.166, 0.1, 0.474 }\r\n input_parameters.value = whiteDeckId\r\n self.createInput(input_parameters)\r\n -- Orange\r\n input_parameters.input_function = \"orangeDeckChanged\"\r\n input_parameters.position = { 0.171, 0.1, 0.474 }\r\n input_parameters.value = orangeDeckId\r\n self.createInput(input_parameters)\r\nend\r\n\r\n-- Create the Build All button. This is a transparent button which covers the Build All portion of the background graphic\r\nfunction makeBuildButton()\r\n local button_parameters = {}\r\n button_parameters.click_function = \"loadDecks\"\r\n button_parameters.function_owner = self\r\n button_parameters.position = { 0, 0.1, 0.71 }\r\n button_parameters.width = 320\r\n button_parameters.height = 30\r\n button_parameters.color = { 0, 0, 0, 0 }\r\n button_parameters.tooltip = \"Click to build all four decks!\"\r\n self.createButton(button_parameters)\r\nend\r\n\r\n-- Event handlers for deck ID change\r\nfunction redDeckChanged(_, _, inputValue) redDeckId = inputValue end\r\n\r\nfunction orangeDeckChanged(_, _, inputValue) orangeDeckId = inputValue end\r\n\r\nfunction whiteDeckChanged(_, _, inputValue) whiteDeckId = inputValue end\r\n\r\nfunction greenDeckChanged(_, _, inputValue) greenDeckId = inputValue end\r\n\r\n-- Event handlers for toggle buttons\r\nfunction publicPrivateChanged()\r\n privateDeck = not privateDeck\r\n self.editButton { index = 0, label = PRIVATE_TOGGLE_LABELS[privateDeck] }\r\nend\r\n\r\nfunction loadUpgradedChanged()\r\n loadNewestDeck = not loadNewestDeck\r\n self.editButton { index = 1, label = UPGRADED_TOGGLE_LABELS[loadNewestDeck] }\r\nend\r\n\r\nfunction loadInvestigatorsChanged()\r\n loadInvestigators = not loadInvestigators\r\n self.editButton { index = 2, label = LOAD_INVESTIGATOR_TOGGLE_LABELS[loadInvestigators] }\r\nend\r\n\r\nfunction loadDecks()\r\n -- testLoadLotsOfDecks()\r\n -- Method in DeckImporterMain, visible due to inclusion\r\n\r\n -- TODO: Make this use the configuration ID for the all cards bag\r\n local allCardsBag = getObjectFromGUID(\"15bb07\")\r\n local indexReady = allCardsBag.call(\"isIndexReady\")\r\n if (not indexReady) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return\r\n end\r\n if (redDeckId ~= nil and redDeckId ~= \"\") then\r\n buildDeck(\"Red\", redDeckId)\r\n end\r\n if (orangeDeckId ~= nil and orangeDeckId ~= \"\") then\r\n buildDeck(\"Orange\", orangeDeckId)\r\n end\r\n if (whiteDeckId ~= nil and whiteDeckId ~= \"\") then\r\n buildDeck(\"White\", whiteDeckId)\r\n end\r\n if (greenDeckId ~= nil and greenDeckId ~= \"\") then\r\n buildDeck(\"Green\", greenDeckId)\r\n end\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"playercards/PlayerCardSpawner\", function(require, _LOADED, __bundle_register, __bundle_modules)\n\r\n-- Amount to shift for the next card (zShift) or next row of cards (xShift)\r\n-- Note that the table rotation is weird, and the X axis is vertical while the\r\n-- Z axis is horizontal\r\nlocal SPREAD_Z_SHIFT = -2.3\r\nlocal SPREAD_X_SHIFT = -3.66\r\n\r\nSpawner = { }\r\n\r\n-- Spawns a list of cards at the given position/rotation. This will separate cards by size -\r\n-- investigator, standard, and mini, spawning them in that order with larger cards on bottom. If\r\n-- there are different types, the provided callback will be called once for each type as it spawns\r\n-- either a card or deck.\r\n-- @param cardList: A list of Player Card data structures (data/metadata)\r\n-- @param pos Position table where the cards should be spawned (global)\r\n-- @param rot Rotation table for the orientation of the spawned cards (global)\r\n-- @param sort Boolean, true if this list of cards should be sorted before spawning\r\n-- @param callback Function, callback to be called after the card/deck spawns.\r\nSpawner.spawnCards = function(cardList, pos, rot, sort, callback)\r\n if (sort) then\r\n table.sort(cardList, Spawner.cardComparator)\r\n end\r\n\r\n local miniCards = { }\r\n local standardCards = { }\r\n local investigatorCards = { }\r\n\r\n for _, card in ipairs(cardList) do\r\n if (card.metadata.type == \"Investigator\") then\r\n table.insert(investigatorCards, card)\r\n elseif (card.metadata.type == \"Minicard\") then\r\n table.insert(miniCards, card)\r\n else\r\n table.insert(standardCards, card)\r\n end\r\n end\r\n -- Spawn each of the three types individually. Each Y position shift accounts for the thickness\r\n -- of the spawned deck\r\n local position = { x = pos.x, y = pos.y, z = pos.z }\r\n Spawner.spawn(investigatorCards, position, { rot.x, rot.y - 90, rot.z }, callback)\r\n\r\n position.y = position.y + (#investigatorCards + #standardCards) * 0.07\r\n Spawner.spawn(standardCards, position, rot, callback)\r\n\r\n position.y = position.y + (#standardCards + #miniCards) * 0.07\r\n Spawner.spawn(miniCards, position, rot, callback)\r\nend\r\n\r\nSpawner.spawnCardSpread = function(cardList, startPos, maxCols, rot, sort, callback)\r\n if (sort) then\r\n table.sort(cardList, Spawner.cardComparator)\r\n end\r\n\r\n local position = { x = startPos.x, y = startPos.y, z = startPos.z }\r\n -- Special handle the first row if we have less than a full single row, but only if there's a\r\n -- reasonable max column count. Single-row spreads will send a large value for maxCols\r\n if maxCols < 100 and #cardList < maxCols then\r\n position.z = startPos.z + ((maxCols - #cardList) / 2 * SPREAD_Z_SHIFT)\r\n end\r\n local cardsInRow = 0\r\n local rows = 0\r\n for _, card in ipairs(cardList) do\r\n Spawner.spawn({ card }, position, rot, callback)\r\n position.z = position.z + SPREAD_Z_SHIFT\r\n cardsInRow = cardsInRow + 1\r\n if cardsInRow >= maxCols then\r\n rows = rows + 1\r\n local cardsForRow = #cardList - rows * maxCols\r\n if cardsForRow > maxCols then\r\n cardsForRow = maxCols\r\n end\r\n position.z = startPos.z + ((maxCols - cardsForRow) / 2 * SPREAD_Z_SHIFT)\r\n position.x = position.x + SPREAD_X_SHIFT\r\n cardsInRow = 0\r\n end\r\n end\r\nend\r\n\r\n-- Spawn a specific list of cards. This method is for internal use and should not be called\r\n-- directly, use spawnCards instead.\r\n---@param cardList: A list of Player Card data structures (data/metadata)\r\n---@param pos table Position where the cards should be spawned (global)\r\n---@param rot table Rotation for the orientation of the spawned cards (global)\r\n---@param callback function callback to be called after the card/deck spawns.\r\nSpawner.spawn = function(cardList, pos, rot, callback)\r\n if (#cardList == 0) then\r\n return\r\n end\r\n -- Spawn a single card directly\r\n if (#cardList == 1) then\r\n spawnObjectData({\r\n data = cardList[1].data,\r\n position = pos,\r\n rotation = rot,\r\n callback_function = callback,\r\n })\r\n return\r\n end\r\n -- For multiple cards, construct a deck and spawn that\r\n local deck = Spawner.buildDeckDataTemplate()\r\n -- Decks won't inherently scale to the cards in them. The card list being spawned should be all\r\n -- the same type/size by this point, so use the first card to set the size\r\n deck.Transform = {\r\n scaleX = cardList[1].data.Transform.scaleX,\r\n scaleY = 1,\r\n scaleZ = cardList[1].data.Transform.scaleZ,\r\n }\r\n local sidewaysDeck = true\r\n for _, spawnCard in ipairs(cardList) do\r\n Spawner.addCardToDeck(deck, spawnCard.data)\r\n -- set sidewaysDeck to false if any card is not a sideways card\r\n sidewaysDeck = (sidewaysDeck and spawnCard.data.SidewaysCard)\r\n end\r\n -- set the alt view angle for sideway decks\r\n if sidewaysDeck then\r\n deck.AltLookAngle = { x = 0, y = 180, z = 90 }\r\n end\r\n spawnObjectData({\r\n data = deck,\r\n position = pos,\r\n rotation = rot,\r\n callback_function = callback,\r\n })\r\nend\r\n\r\n-- Inserts a card into the given deck. This does three things:\r\n-- 1. Add the card's data to ContainedObjects\r\n-- 2. Add the card's ID (the TTS CardID, not the Arkham ID) to the deck's\r\n-- ID list. Note that the deck's ID list is \"DeckIDs\" even though it\r\n-- contains a list of card Ids\r\n-- 3. Extract the card's CustomDeck table and add it to the deck. The deck's\r\n-- \"CustomDeck\" field is a list of all CustomDecks used by cards within the\r\n-- deck, keyed by the DeckID and referencing the custom deck table\r\n---@param deck: TTS deck data structure to add to\r\n---@param card: Data for the card to be inserted\r\nSpawner.addCardToDeck = function(deck, cardData)\r\n for customDeckId, customDeckData in pairs(cardData.CustomDeck) do\r\n if (deck.CustomDeck[customDeckId] == nil) then\r\n -- CustomDeck not added to deck yet, add it\r\n deck.CustomDeck[customDeckId] = customDeckData\r\n elseif (deck.CustomDeck[customDeckId].FaceURL == customDeckData.FaceURL) then\r\n -- CustomDeck for this card matches the current one for the deck, do nothing\r\n else\r\n -- CustomDeck data conflict\r\n local newDeckId = nil\r\n for deckId, customDeck in pairs(deck.CustomDeck) do\r\n if (customDeckData.FaceURL == customDeck.FaceURL) then\r\n newDeckId = deckId\r\n end\r\n end\r\n if (newDeckId == nil) then\r\n -- No non-conflicting custom deck for this card, add a new one\r\n newDeckId = Spawner.findNextAvailableId(deck.CustomDeck, \"1000\")\r\n deck.CustomDeck[newDeckId] = customDeckData\r\n end\r\n -- Update the card with the new CustomDeck info\r\n cardData.CardID = newDeckId..string.sub(cardData.CardID, 5)\r\n cardData.CustomDeck[customDeckId] = nil\r\n cardData.CustomDeck[newDeckId] = customDeckData\r\n break\r\n end\r\n end\r\n table.insert(deck.ContainedObjects, cardData)\r\n table.insert(deck.DeckIDs, cardData.CardID)\r\nend\r\n\r\n-- Create an empty deck data table which can have cards added to it. This\r\n-- creates a new table on each call without using metatables or previous\r\n-- definitions because we can't be sure that TTS doesn't modify the structure\r\n---@return: Table containing the minimal TTS deck data structure\r\nSpawner.buildDeckDataTemplate = function()\r\n local deck = {}\r\n deck.Name = \"Deck\"\r\n\r\n -- Card data. DeckIDs and CustomDeck entries will be built from the cards\r\n deck.ContainedObjects = {}\r\n deck.DeckIDs = {}\r\n deck.CustomDeck = {}\r\n\r\n -- Transform is required, Position and Rotation will be overridden by the spawn call so can be omitted here\r\n deck.Transform = {\r\n scaleX = 1,\r\n scaleY = 1,\r\n scaleZ = 1,\r\n }\r\n\r\n return deck\r\nend\r\n\r\n-- Returns the first ID which does not exist in the given table, starting at startId and increasing\r\n-- @param objectTable Table keyed by strings which are numbers\r\n-- @param startId First possible ID.\r\n-- @return String ID >= startId\r\nSpawner.findNextAvailableId = function(objectTable, startId)\r\n local id = startId\r\n while (objectTable[id] ~= nil) do\r\n id = tostring(tonumber(id) + 1)\r\n end\r\n\r\n return id\r\nend\r\n\r\n-- Get the PBCN (Permanent/Bonded/Customizable/Normal) value from the given metadata.\r\n---@return: 1 for Permanent, 2 for Bonded or 4 for Normal. The actual values are\r\n-- irrelevant as they provide only grouping and the order between them doesn't matter.\r\nSpawner.getpbcn = function(metadata)\r\n if metadata.permanent then\r\n return 1\r\n elseif metadata.bonded_to ~= nil then\r\n return 2\r\n else -- Normal card\r\n return 3\r\n end\r\nend\r\n\r\n-- Comparison function used to sort the cards in a deck. Groups bonded or\r\n-- permanent cards first, then sorts within theose types by name/subname.\r\n-- Normal cards will sort in standard alphabetical order, while\r\n-- permanent/bonded/customizable will be in reverse alphabetical order.\r\n--\r\n-- Since cards spawn in the order provided by this comparator, with the first\r\n-- cards ending up at the bottom of a pile, this ordering will spawn in reverse\r\n-- alphabetical order. This presents the cards in order for non-face-down\r\n-- areas, and presents them in order when Searching the face-down deck.\r\nSpawner.cardComparator = function(card1, card2)\r\n local pbcn1 = Spawner.getpbcn(card1.metadata)\r\n local pbcn2 = Spawner.getpbcn(card2.metadata)\r\n if pbcn1 ~= pbcn2 then\r\n return pbcn1 > pbcn2\r\n end\r\n if pbcn1 == 3 then\r\n if card1.data.Nickname ~= card2.data.Nickname then\r\n return card1.data.Nickname < card2.data.Nickname\r\n end\r\n return card1.data.Description < card2.data.Description\r\n else\r\n if card1.data.Nickname ~= card2.data.Nickname then\r\n return card1.data.Nickname > card2.data.Nickname\r\n end\r\n return card1.data.Description > card2.data.Description\r\n end\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"playermat/Zones\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Sets up and returns coordinates for all possible spawn zones. Because Lua assigns tables by reference\r\n-- and there is no built-in function to copy a table this is relatively brute force.\r\n--\r\n-- Positions are all relative to the player mat, and most are consistent. The\r\n-- exception are the SetAside# zones, which are placed to the left of the mat\r\n-- for White/Green, and the right of the mat for Orange/Red.\r\n--\r\n-- Investigator: Investigator card area.\r\n-- Minicard: Placement for the investigator's minicard, just above the player mat\r\n-- Deck, Discard: Standard locations for the deck and discard piles.\r\n-- BlankTop: used for assets that start in play (e.g. Duke)\r\n-- Tarot, Hand1, Hand2, Ally, BlankBottom, Accessory, Arcane1, Arcane2, Body: Asset slot positions\r\n-- Threat[1-4]: Threat area slots. Threat[1-3] correspond to the named threat area slots, and Threat4 is the blank threat area slot.\r\n-- SetAside[1-3]: Column closest to the player mat, with 1 at the top and 3 at the bottom.\r\n-- SetAside[4-6]: Column farther away from the mat, with 4 at the top and 6 at the bottom.\r\n-- SetAside1: Permanent cards\r\n-- SetAside2: Bonded cards\r\n-- SetAside3: Ancestral Knowledge / Underworld Market\r\n-- SetAside4: Upgrade sheets for customizable cards\r\n-- SetAside5: Hunch Deck for Joe Diamond\r\n-- SetAside6: currently unused\r\ndo\r\n local Zones = { }\r\n\r\n local playerMatGuids = {}\r\n playerMatGuids[\"Red\"] = \"0840d5\"\r\n playerMatGuids[\"Orange\"] = \"bd0ff4\"\r\n playerMatGuids[\"White\"] = \"8b081b\"\r\n playerMatGuids[\"Green\"] = \"383d8b\"\r\n\r\n local commonZones = {}\r\n commonZones[\"Investigator\"] = { -1.17702, 0, 0.00209 }\r\n commonZones[\"Deck\"] = { -1.822724, 0, -0.02940192 }\r\n commonZones[\"Discard\"] = { -1.822451, 0, 0.6092291 }\r\n commonZones[\"Ally\"] = { -0.6157398, 0, 0.02435675 }\r\n commonZones[\"Body\"] = { -0.6306521, 0, 0.553170 }\r\n commonZones[\"Hand1\"] = { 0.2155387, 0, 0.04257287 }\r\n commonZones[\"Hand2\"] = { -0.1803701, 0, 0.03745948 }\r\n commonZones[\"Arcane1\"] = { 0.2124223, 0, 0.5596902 }\r\n commonZones[\"Arcane2\"] = { -0.1711275, 0, 0.5567944 }\r\n commonZones[\"Tarot\"] = { 0.6016169, 0, 0.03273106 }\r\n commonZones[\"Accessory\"] = { 0.6049907, 0, 0.5546234 }\r\n commonZones[\"BlankTop\"] = { 1.758446, 0, 0.03965336 }\r\n commonZones[\"BlankBottom\"] = { 1.754469, 0, 0.5634764 }\r\n commonZones[\"Threat1\"] = { -0.9116555, 0, -0.6446251 }\r\n commonZones[\"Threat2\"] = { -0.4544126, 0, -0.6428719 }\r\n commonZones[\"Threat3\"] = { 0.002246313, 0, -0.6430681 }\r\n commonZones[\"Threat4\"] = { 0.4590618, 0, -0.6432732 }\r\n\r\n local zoneData = {}\r\n zoneData[\"White\"] = {}\r\n zoneData[\"White\"][\"Investigator\"] = commonZones[\"Investigator\"]\r\n zoneData[\"White\"][\"Deck\"] = commonZones[\"Deck\"]\r\n zoneData[\"White\"][\"Discard\"] = commonZones[\"Discard\"]\r\n zoneData[\"White\"][\"Ally\"] = commonZones[\"Ally\"]\r\n zoneData[\"White\"][\"Body\"] = commonZones[\"Body\"]\r\n zoneData[\"White\"][\"Hand1\"] = commonZones[\"Hand1\"]\r\n zoneData[\"White\"][\"Hand2\"] = commonZones[\"Hand2\"]\r\n zoneData[\"White\"][\"Arcane1\"] = commonZones[\"Arcane1\"]\r\n zoneData[\"White\"][\"Arcane2\"] = commonZones[\"Arcane2\"]\r\n zoneData[\"White\"][\"Tarot\"] = commonZones[\"Tarot\"]\r\n zoneData[\"White\"][\"Accessory\"] = commonZones[\"Accessory\"]\r\n zoneData[\"White\"][\"BlankTop\"] = commonZones[\"BlankTop\"]\r\n zoneData[\"White\"][\"BlankBottom\"] = commonZones[\"BlankBottom\"]\r\n zoneData[\"White\"][\"Threat1\"] = commonZones[\"Threat1\"]\r\n zoneData[\"White\"][\"Threat2\"] = commonZones[\"Threat2\"]\r\n zoneData[\"White\"][\"Threat3\"] = commonZones[\"Threat3\"]\r\n zoneData[\"White\"][\"Threat4\"] = commonZones[\"Threat4\"]\r\n zoneData[\"White\"][\"Minicard\"] = { -1, 0, -1.45 }\r\n zoneData[\"White\"][\"SetAside1\"] = { 2.345893, 0, -0.520315 }\r\n zoneData[\"White\"][\"SetAside2\"] = { 2.345893, 0, 0.042552 }\r\n zoneData[\"White\"][\"SetAside3\"] = { 2.345893, 0, 0.605419 }\r\n zoneData[\"White\"][\"UnderSetAside3\"] = { 2.495893, 0, 0.805419 }\r\n zoneData[\"White\"][\"SetAside4\"] = { 2.775893, 0, -0.520315 }\r\n zoneData[\"White\"][\"SetAside5\"] = { 2.775893, 0, 0.042552 }\r\n zoneData[\"White\"][\"SetAside6\"] = { 2.775893, 0, 0.605419 }\r\n zoneData[\"White\"][\"UnderSetAside6\"] = { 2.925893, 0, 0.805419 }\r\n\r\n zoneData[\"Orange\"] = {}\r\n zoneData[\"Orange\"][\"Investigator\"] = commonZones[\"Investigator\"]\r\n zoneData[\"Orange\"][\"Deck\"] = commonZones[\"Deck\"]\r\n zoneData[\"Orange\"][\"Discard\"] = commonZones[\"Discard\"]\r\n zoneData[\"Orange\"][\"Ally\"] = commonZones[\"Ally\"]\r\n zoneData[\"Orange\"][\"Body\"] = commonZones[\"Body\"]\r\n zoneData[\"Orange\"][\"Hand1\"] = commonZones[\"Hand1\"]\r\n zoneData[\"Orange\"][\"Hand2\"] = commonZones[\"Hand2\"]\r\n zoneData[\"Orange\"][\"Arcane1\"] = commonZones[\"Arcane1\"]\r\n zoneData[\"Orange\"][\"Arcane2\"] = commonZones[\"Arcane2\"]\r\n zoneData[\"Orange\"][\"Tarot\"] = commonZones[\"Tarot\"]\r\n zoneData[\"Orange\"][\"Accessory\"] = commonZones[\"Accessory\"]\r\n zoneData[\"Orange\"][\"BlankTop\"] = commonZones[\"BlankTop\"]\r\n zoneData[\"Orange\"][\"BlankBottom\"] = commonZones[\"BlankBottom\"]\r\n zoneData[\"Orange\"][\"Threat1\"] = commonZones[\"Threat1\"]\r\n zoneData[\"Orange\"][\"Threat2\"] = commonZones[\"Threat2\"]\r\n zoneData[\"Orange\"][\"Threat3\"] = commonZones[\"Threat3\"]\r\n zoneData[\"Orange\"][\"Threat4\"] = commonZones[\"Threat4\"]\r\n zoneData[\"Orange\"][\"Minicard\"] = { 1, 0, -1.45 }\r\n zoneData[\"Orange\"][\"SetAside1\"] = { -2.350362, 0, -0.520315 }\r\n zoneData[\"Orange\"][\"SetAside2\"] = { -2.350362, 0, 0.042552 }\r\n zoneData[\"Orange\"][\"SetAside3\"] = { -2.350362, 0, 0.605419 }\r\n zoneData[\"Orange\"][\"UnderSetAside3\"] = { -2.500362, 0, 0.80419 }\r\n zoneData[\"Orange\"][\"SetAside4\"] = { -2.7803627, 0, -0.520315 }\r\n zoneData[\"Orange\"][\"SetAside5\"] = { -2.7803627, 0, 0.042552 }\r\n zoneData[\"Orange\"][\"SetAside6\"] = { -2.7803627, 0, 0.605419 }\r\n zoneData[\"Orange\"][\"UnderSetAside6\"] = { -2.9303627, 0, 0.80419 }\r\n\r\n -- Green positions are the same as White and Red the same as Orange\r\n zoneData[\"Red\"] = zoneData[\"Orange\"]\r\n zoneData[\"Green\"] = zoneData[\"White\"]\r\n\r\n -- Gets the global position for the given zone on the specified player mat.\r\n ---@param playerColor: Color name of the player mat to get the zone position for (e.g. \"Red\")\r\n ---@param zoneName: Name of the zone to get the position for. See Zones object documentation for a list of valid zones.\r\n ---@return: Global position table, or nil if an invalid player color or zone is specified\r\n Zones.getZonePosition = function(playerColor, zoneName)\r\n if (playerColor ~= \"Red\"\r\n and playerColor ~= \"Orange\"\r\n and playerColor ~= \"White\"\r\n and playerColor ~= \"Green\") then\r\n return nil\r\n end\r\n return getObjectFromGUID(playerMatGuids[playerColor]).positionToWorld(zoneData[playerColor][zoneName])\r\n end\r\n\r\n -- Return the global rotation for a card on the given player mat, based on its metadata.\r\n ---@param playerColor: Color name of the player mat to get the rotation for (e.g. \"Red\")\r\n ---@param cardMetadata: Table of card metadata. Metadata fields type and permanent are required; all others are optional.\r\n ---@return: Global rotation vector for the given card. This will include the\r\n -- Y rotation to orient the card on the given player mat as well as a\r\n -- Z rotation to place the card face up or face down.\r\n Zones.getDefaultCardRotation = function(playerColor, zone)\r\n local deckRotation = getObjectFromGUID(playerMatGuids[playerColor]).getRotation()\r\n\r\n if zone == \"Deck\" then\r\n deckRotation = deckRotation + Vector(0, 0, 180)\r\n end\r\n\r\n return deckRotation\r\n end\r\n\r\n return Zones\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"arkhamdb/DeckImporterMain\")\nend)\n__bundle_register(\"arkhamdb/DeckImporterMain\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"arkhamdb/DeckImporterUi\")\r\nrequire(\"playercards/PlayerCardSpawner\")\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\nlocal playAreaApi = require(\"core/PlayAreaApi\")\r\nlocal arkhamDb = require(\"arkhamdb/ArkhamDb\")\r\nlocal zones = require(\"playermat/Zones\")\r\n\r\nlocal ALL_CARDS_GUID = \"15bb07\"\r\n\r\nfunction onLoad(script_state)\r\n initializeUi(JSON.decode(script_state))\r\n math.randomseed(os.time())\r\n arkhamDb.initialize()\r\nend\r\n\r\nfunction onSave() return JSON.encode(getUiState()) end\r\n\r\n-- Returns the zone name where the specified card should be placed, based on its metadata.\r\n---@param cardMetadata Table of card metadata.\r\n---@return Zone String Name of the zone such as \"Deck\", \"SetAside1\", etc.\r\n-- See Zones object documentation for a list of valid zones.\r\nfunction getDefaultCardZone(cardMetadata, bondedList)\r\n if (cardMetadata.id == \"09080-m\") then -- Have to check the Servitor before other minicards\r\n return \"SetAside6\"\r\n elseif (cardMetadata.id == \"09006\") then -- On The Mend is set aside\r\n return \"SetAside2\"\r\n elseif cardMetadata.type == \"Investigator\" then\r\n return \"Investigator\"\r\n elseif cardMetadata.type == \"Minicard\" then\r\n return \"Minicard\"\r\n elseif cardMetadata.type == \"UpgradeSheet\" then\r\n return \"SetAside4\"\r\n elseif cardMetadata.startsInPlay then\r\n return \"BlankTop\"\r\n elseif cardMetadata.permanent then\r\n return \"SetAside1\"\r\n elseif bondedList[cardMetadata.id] then\r\n return \"SetAside2\"\r\n -- SetAside3 is used for Ancestral Knowledge / Underworld Market\r\n else\r\n return \"Deck\"\r\n end\r\nend\r\n\r\nfunction buildDeck(playerColor, deckId)\r\n local uiState = getUiState()\r\n arkhamDb.getDecklist(\r\n playerColor,\r\n deckId,\r\n uiState.private,\r\n uiState.loadNewest,\r\n uiState.investigators,\r\n loadCards)\r\nend\r\n\r\n-- Process the slot list, which defines the card Ids and counts of cards to load. Spawn those cards\r\n-- at the appropriate zones and report an error to the user if any could not be loaded.\r\n-- This is a callback function which handles the results of ArkhamDb.getDecklist()\r\n-- This method uses an encapsulated coroutine with yields to make the card spawning cleaner.\r\n--\r\n---@param slots Table Key-Value table of cardId:count. cardId is the ArkhamDB ID of the card to spawn,\r\n-- and count is the number which should be spawned\r\n---@param investigatorId String ArkhamDB ID (code) for this deck's investigator.\r\n-- Investigator cards should already be added to the slots list if they\r\n-- should be spawned, but this value is separate to check for special\r\n-- handling for certain investigators\r\n---@param bondedList Table A table of cardID keys to meaningless values. Card IDs in this list were added\r\n-- from a parent bonded card.\r\n---@param customizations String ArkhamDB data for customizations on customizable cards\r\n---@param playerColor String Color name of the player mat to place this deck on (e.g. \"Red\")\r\n---@param loadAltInvestigator String Contains the name of alternative art for the investigator (\"normal\", \"revised\" or \"promo\")\r\nfunction loadCards(slots, investigatorId, bondedList, customizations, playerColor, loadAltInvestigator)\r\n function coinside()\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID)\r\n local yPos = {}\r\n local cardsToSpawn = {}\r\n for cardId, cardCount in pairs(slots) do\r\n local card = allCardsBag.call(\"getCardById\", { id = cardId })\r\n if card ~= nil then\r\n local cardZone = getDefaultCardZone(card.metadata, bondedList)\r\n for i = 1, cardCount do\r\n table.insert(cardsToSpawn, { data = card.data, metadata = card.metadata, zone = cardZone })\r\n end\r\n\r\n slots[cardId] = 0\r\n end\r\n end\r\n\r\n handleAncestralKnowledge(cardsToSpawn)\r\n handleUnderworldMarket(cardsToSpawn, playerColor)\r\n handleHunchDeck(investigatorId, cardsToSpawn, playerColor)\r\n handleCustomizableUpgrades(cardsToSpawn, customizations)\r\n handlePeteSignatureAssets(investigatorId, cardsToSpawn)\r\n\r\n -- Split the card list into separate lists for each zone\r\n local zoneDecks = buildZoneLists(cardsToSpawn)\r\n -- Spawn the list for each zone\r\n for zone, zoneCards in pairs(zoneDecks) do\r\n local deckPos = zones.getZonePosition(playerColor, zone)\r\n deckPos.y = 3\r\n\r\n local callback = nil\r\n -- If cards are spread too close together TTS groups them weirdly, selecting multiples\r\n -- when hovering over a single card. This distance is the minimum to avoid that\r\n local spreadDistance = 1.15\r\n if (zone == \"SetAside4\") then\r\n -- SetAside4 is reserved for customization cards, and we want them spread on the table\r\n -- so their checkboxes are visible\r\n -- TO-DO: take into account that spreading will make multiple rows\r\n -- (this is affected by the user's local settings!)\r\n if (playerColor == \"White\") then\r\n deckPos.z = deckPos.z + (#zoneCards - 1) * spreadDistance\r\n elseif (playerColor == \"Green\") then\r\n deckPos.x = deckPos.x + (#zoneCards - 1) * spreadDistance\r\n end\r\n callback = function(deck) deck.spread(spreadDistance) end\r\n elseif zone == \"Deck\" then\r\n callback = function(deck) deckSpawned(deck, playerColor) end\r\n elseif zone == \"Investigator\" or zone == \"Minicard\" then\r\n callback = function(card) loadAltArt(card, loadAltInvestigator) end\r\n end\r\n Spawner.spawnCards(\r\n zoneCards,\r\n deckPos,\r\n zones.getDefaultCardRotation(playerColor, zone),\r\n true, -- Sort deck\r\n callback)\r\n\r\n coroutine.yield(0)\r\n end\r\n\r\n -- Look for any cards which haven't been loaded\r\n local hadError = false\r\n for cardId, remainingCount in pairs(slots) do\r\n if remainingCount > 0 then\r\n hadError = true\r\n arkhamDb.logCardNotFound(cardId, playerColor)\r\n end\r\n end\r\n if (not hadError) then\r\n printToAll(\"Deck loaded successfully!\", playerColor)\r\n end\r\n return 1\r\n end\r\n\r\n startLuaCoroutine(self, \"coinside\")\r\nend\r\n\r\n-- Callback handler for the main deck spawning. Looks for cards which should start in hand, and\r\n-- draws them for the appropriate player.\r\n---@param deck Object Callback-provided spawned deck object\r\n---@param playerColor String Color of the player to draw the cards to\r\nfunction deckSpawned(deck, playerColor)\r\n local player = Player[playmatApi.getPlayerColor(playerColor)]\r\n local handPos = player.getHandTransform(1).position -- Only one hand zone per player\r\n local deckCards = deck.getData().ContainedObjects\r\n -- Process in reverse order so taking cards out doesn't upset the indexing\r\n for i = #deckCards, 1, -1 do\r\n local cardMetadata = JSON.decode(deckCards[i].GMNotes) or { }\r\n if cardMetadata.startsInHand then\r\n deck.takeObject({ index = i - 1, position = handPos, flip = true, smooth = true})\r\n end\r\n end\r\nend\r\n\r\n-- Converts the Raven Quill's selections from card IDs to card names. This could be more elegant\r\n-- but the inputs are very static so we're using some brute force.\r\n---@param selectionString String provided by ArkhamDB, indicates the customization selections\r\n-- Should be either a single card ID or two separated by a ^ (e.g. XXXXX^YYYYY)\r\nfunction convertRavenQuillSelections(selectionString)\r\n if (string.len(selectionString) == 5) then\r\n return getCardName(selectionString)\r\n elseif (string.len(selectionString) == 11) then\r\n return getCardName(string.sub(selectionString, 1, 5)) .. \", \" .. getCardName(string.sub(selectionString, 7))\r\n end\r\nend\r\n\r\n-- Converts Grizzled's selections from a single string with \"^\".\r\n---@param selectionString String provided by ArkhamDB, indicates the customization selections\r\n-- Should be two Traits separated by a ^ (e.g. XXXXX^YYYYY)\r\nfunction convertGrizzledSelections(selectionString)\r\n return selectionString:gsub(\"%^\", \", \")\r\nend\r\n\r\n-- Returns the simple name of a card given its ID. This will find the card and strip any trailing\r\n-- SCED-specific suffixes such as (Taboo) or (Level)\r\nfunction getCardName(cardId)\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID)\r\n local card = allCardsBag.call(\"getCardById\", { id = cardId })\r\n if (card ~= nil) then\r\n local name = card.data.Nickname\r\n if (string.find(name, \" %(\")) then\r\n return string.sub(name, 1, string.find(name, \" %(\") - 1)\r\n else\r\n return name\r\n end\r\n end\r\nend\r\n\r\n-- Split a single list of cards into a separate table of lists, keyed by the zone\r\n---@param cards: Table of {cardData, cardMetadata, zone}\r\n---@return: Table of {zoneName=card list}\r\nfunction buildZoneLists(cards)\r\n local zoneList = {}\r\n for _, card in ipairs(cards) do\r\n if zoneList[card.zone] == nil then\r\n zoneList[card.zone] = {}\r\n end\r\n table.insert(zoneList[card.zone], card)\r\n end\r\n\r\n return zoneList\r\nend\r\n\r\n-- Check to see if the deck list has Ancestral Knowledge. If it does, move 5 random skills to SetAside3\r\n---@param cardList Table Deck list being created\r\nfunction handleAncestralKnowledge(cardList)\r\n local hasAncestralKnowledge = false\r\n local skillList = {}\r\n -- Have to process the entire list to check for Ancestral Knowledge and get all possible skills, so do both in one pass\r\n for i, card in ipairs(cardList) do\r\n if card.metadata.id == \"07303\" then\r\n hasAncestralKnowledge = true\r\n card.zone = \"SetAside3\"\r\n elseif (card.metadata.type == \"Skill\"\r\n and card.zone == \"Deck\"\r\n and not card.metadata.weakness) then\r\n table.insert(skillList, i)\r\n end\r\n end\r\n if hasAncestralKnowledge then\r\n for i = 1, 5 do\r\n -- Move 5 random skills to SetAside3\r\n local skillListIndex = math.random(#skillList)\r\n cardList[skillList[skillListIndex]].zone = \"UnderSetAside3\"\r\n table.remove(skillList, skillListIndex)\r\n end\r\n end\r\nend\r\n\r\n-- Check for and handle Underworld Market by moving all Illicit cards to UnderSetAside3\r\n---@param cardList Table Deck list being created\r\n---@param playerColor String Color this deck is being loaded for\r\nfunction handleUnderworldMarket(cardList, playerColor)\r\n local hasMarket = false\r\n local illicitList = {}\r\n -- Process the entire list to check for Underworld Market and get all possible skills, doing both in one pass\r\n for i, card in ipairs(cardList) do\r\n if card.metadata.id == \"09077\" then\r\n -- Underworld Market found\r\n hasMarket = true\r\n card.zone = \"SetAside3\"\r\n elseif card.metadata.traits ~= nil and string.find(card.metadata.traits, \"Illicit\", 1, true) and card.zone == \"Deck\" then\r\n table.insert(illicitList, i)\r\n end\r\n end\r\n\r\n if hasMarket then\r\n if #illicitList < 10 then\r\n printToAll(\"Only \" .. #illicitList ..\r\n \" Illicit cards in your deck, you can't trigger Underworld Market's ability.\",\r\n playerColor)\r\n else\r\n -- Process cards to move them to the market deck. This is done in reverse\r\n -- order because the sorting needs to be reversed (deck sorts for face down)\r\n -- Performance here may be an issue, as table.remove() is an O(n) operation\r\n -- which makes the full shift O(n^2). But keep it simple unless it becomes\r\n -- a problem\r\n for i = #illicitList, 1, -1 do\r\n local moving = cardList[illicitList[i]]\r\n moving.zone = \"UnderSetAside3\"\r\n table.remove(cardList, illicitList[i])\r\n table.insert(cardList, moving)\r\n end\r\n\r\n if #illicitList > 10 then\r\n printToAll(\"Moved all \" .. #illicitList ..\r\n \" Illicit cards to the Market deck, reduce it to 10\",\r\n playerColor)\r\n else\r\n printToAll(\"Built the Market deck\", playerColor)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- If the investigator is Joe Diamond, extract all Insight events to SetAside5 to build the Hunch\r\n-- Deck.\r\n---@param investigatorId String ID for the deck's investigator card. Passed separately because the\r\n--- investigator may not be included in the cardList\r\n---@param cardList Table Deck list being created\r\n---@param playerColor String Color this deck is being loaded for\r\nfunction handleHunchDeck(investigatorId, cardList, playerColor)\r\n if investigatorId == \"05002\" then -- Joe Diamond\r\n local insightList = {}\r\n for i, card in ipairs(cardList) do\r\n if (card.metadata.type == \"Event\"\r\n and card.metadata.traits ~= nil\r\n and string.match(card.metadata.traits, \"Insight\")\r\n and card.metadata.bonded_to == nil) then\r\n table.insert(insightList, i)\r\n end\r\n end\r\n -- Process insights to move them to the hunch deck. This is done in reverse\r\n -- order because the sorting needs to be reversed (deck sorts for face down)\r\n -- Performance here may be an issue, as table.remove() is an O(n) operation\r\n -- which makes the full shift O(n^2). But keep it simple unless it becomes\r\n -- a problem\r\n for i = #insightList, 1, -1 do\r\n local moving = cardList[insightList[i]]\r\n moving.zone = \"SetAside5\"\r\n table.remove(cardList, insightList[i])\r\n table.insert(cardList, moving)\r\n end\r\n if #insightList < 11 then\r\n printToAll(\"Joe's hunch deck must have 11 cards but the deck only has \" .. #insightList ..\r\n \" Insight events.\", playerColor)\r\n elseif #insightList > 11 then\r\n printToAll(\"Moved all \" .. #insightList ..\r\n \" Insight events to the hunch deck, reduce it to 11.\", playerColor)\r\n else\r\n printToAll(\"Built Joe's hunch deck\", playerColor)\r\n end\r\n end\r\nend\r\n\r\n-- For any customization upgrade cards in the card list, process the metadata from the deck to\r\n-- set the save state to show the correct checkboxes/text field values\r\n---@param cardList Table Deck list being created\r\n---@param customizations Table Deck's meta table, extracted from ArkhamDB's deck structure\r\nfunction handleCustomizableUpgrades(cardList, customizations)\r\n for _, card in ipairs(cardList) do\r\n if card.metadata.type == \"UpgradeSheet\" then\r\n local baseId = string.sub(card.metadata.id, 1, 5)\r\n local upgrades = customizations[\"cus_\" .. baseId]\r\n\r\n if upgrades ~= nil then\r\n -- initialize tables\r\n -- markedBoxes: contains the amount of markedBoxes (left to right) per row (starting at row 1)\r\n -- inputValues: contains the amount of inputValues per row (starting at row 0)\r\n local selectedUpgrades = { }\r\n local index_xp = {}\r\n\r\n -- get the index and xp values (looks like this: X|X,X|X, ..)\r\n -- input string from ArkhamDB is split by \",\"\r\n for str in string.gmatch(customizations[\"cus_\" .. baseId], \"([^,]+)\") do\r\n table.insert(index_xp, str)\r\n end\r\n\r\n -- split each pair and assign it to the proper position in markedBoxes\r\n for _, entry in ipairs(index_xp) do\r\n -- counter increments from 1 to 3 and indicates the part of the string we are on\r\n -- usually: 1 = row, 2 = amount of check boxes, 3 = entry in inputfield\r\n local counter = 0\r\n local row = 0\r\n\r\n -- parsing the string for each row\r\n for str in entry:gmatch(\"([^|]+)\") do\r\n counter = counter + 1\r\n\r\n if counter == 1 then\r\n row = tonumber(str) + 1\r\n elseif counter == 2 then\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n end\r\n selectedUpgrades[row].xp = tonumber(str)\r\n elseif counter == 3 and str ~= \"\" then\r\n if baseId == \"09042\" then\r\n selectedUpgrades[row].text = convertRavenQuillSelections(str)\r\n elseif baseId == \"09101\" then\r\n selectedUpgrades[row].text = convertGrizzledSelections(str)\r\n elseif baseId == \"09079\" then -- Living Ink skill selection\r\n -- All skills, regardless of row, are placed in upgrade slot 1 as a comma-delimited\r\n -- list\r\n if selectedUpgrades[1].text == nil then\r\n selectedUpgrades[1].text = str\r\n else\r\n selectedUpgrades[1].text = selectedUpgrades[1].text .. \",\" .. str\r\n end\r\n else\r\n selectedUpgrades[row].text = str\r\n end\r\n end\r\n end\r\n end\r\n\r\n -- write the loaded values to the save_data of the sheets\r\n card.data[\"LuaScriptState\"] = JSON.encode({ selections = selectedUpgrades })\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Handles cards that start in play under specific conditions for Ashcan Pete (Regular Pete - Duke, Parallel Pete - Guitar)\r\n---@param investigatorId String ID for the deck's investigator card. Passed separately because the\r\n--- investigator may not be included in the cardList\r\n---@param cardList Table Deck list being created\r\nfunction handlePeteSignatureAssets(investigatorId, cardList)\r\n log(investigatorId)\r\n if investigatorId == \"02005\" or investigatorId == \"02005-pb\" then -- regular Pete's front\r\n for i, card in ipairs(cardList) do\r\n if card.metadata.id == \"02014\" then -- Duke\r\n card.zone = \"BlankTop\"\r\n end\r\n end\r\n elseif investigatorId == \"02005-p\" or investigatorId == \"02005-pf\" then -- parallel Pete's front\r\n for i, card in ipairs(cardList) do\r\n if card.metadata.id == \"90047\" then -- Pete's Guitar\r\n card.zone = \"BlankTop\"\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- Callback function for investigator cards and minicards to set the correct state for alt art\r\n---@param card Object Card which needs to be set the state for\r\n---@param loadAltInvestigator String Contains the name of alternative art for the investigator (\"normal\", \"revised\" or \"promo\")\r\nfunction loadAltArt(card, loadAltInvestigator)\r\n -- states are set up this way:\r\n -- 1 - normal, 2 - revised/promo, 3 - promo (if 2 is revised)\r\n -- This means we can always load the 2nd state for revised and just get the last state for promo\r\n if loadAltInvestigator == \"normal\" then\r\n return\r\n elseif loadAltInvestigator == \"revised\" then\r\n card.setState(2)\r\n elseif loadAltInvestigator == \"promo\" then\r\n local states = card.getStates()\r\n card.setState(#states)\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"greenDeck\":\"\",\"investigators\":true,\"loadNewest\":true,\"orangeDeck\":\"\",\"private\":true,\"redDeck\":\"\",\"whiteDeck\":\"\"}", - "XmlUI": "" - }, - { - "GUID": "03804b", - "Name": "Checker_white", - "Transform": { - "posX": 78.0, - "posY": 1.395, - "posZ": 4.352, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Configuration", - "Description": "for DeckImporter", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "import_configuration_provider" - ], - "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": "-- 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)\nrequire(\"arkhamdb/Configuration\")\nend)\n__bundle_register(\"arkhamdb/Configuration\", function(require, _LOADED, __bundle_register, __bundle_modules)\n---@type ArkhamImportConfiguration\r\nconfiguration = {\r\n api_uri = \"https://arkhamdb.com/api/public\",\r\n public_deck = \"decklist\",\r\n private_deck = \"deck\",\r\n cards = \"card\",\r\n taboo = \"taboos\",\r\n card_bag_guid = \"15bb07\"\r\n}\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "280086", - "Name": "Custom_Token", - "Transform": { - "posX": 78.0, - "posY": 1.195, - "posZ": 7.589, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.14, - "scaleY": 1.0, - "scaleZ": 0.14 - }, - "Nickname": "Drawing Tool", - "Description": "Enables drawing lines between objects with Numpad 0.\n\nLong press it to only draw the lines to the hovered object.\n\nSee context menu for additional information.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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/1850441528392677845/F9F54E5144735C7DDFFF88E5D706D0750BA08FBA/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"util/ConnectionDrawingTool\")\nend)\n__bundle_register(\"util/ConnectionDrawingTool\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal lines = {}\r\n\r\n-- save \"lines\" to be able to remove them after loading\r\nfunction onSave()\r\n return JSON.encode(lines)\r\nend\r\n\r\nfunction onLoad(savedData)\r\n lines = JSON.decode(savedData) or {}\r\nend\r\n\r\n-- create timer when numpad 0 is pressed\r\nfunction onScriptingButtonDown(index, player_color)\r\n if index ~= 10 then return end\r\n TimerID = Wait.time(function() draw_from(Player[player_color]) end, 1)\r\nend\r\n\r\n-- called for long press of numpad 0, draws lines from hovered object to selected objects\r\nfunction draw_from(player)\r\n local source = player.getHoverObject()\r\n if not source then return end\r\n\r\n for _, item in ipairs(player.getSelectedObjects()) do\r\n if item.getGUID() ~= source.getGUID() then\r\n if item.getGUID() > source.getGUID() then\r\n draw_with_pair(item, source)\r\n else\r\n draw_with_pair(source, item)\r\n end\r\n end\r\n end\r\n\r\n process_lines()\r\nend\r\n\r\n-- general drawing of all lines between selected objects\r\nfunction onScriptingButtonUp(index, player_color)\r\n if index ~= 10 then return end\r\n -- returns true only if there is a timer to cancel. If this is false then we've waited longer than a second.\r\n if not Wait.stop(TimerID) then return end\r\n\r\n local items = Player[player_color].getSelectedObjects()\r\n if #items < 2 then\r\n broadcastToColor(\"You must have at least two items selected (currently: \" .. #items .. \").\", player_color, \"Red\")\r\n return\r\n end\r\n\r\n table.sort(items, function(a, b) return a.getGUID() > b.getGUID() end)\r\n\r\n for f = 1, #items - 1 do\r\n for s = f + 1, #items do\r\n draw_with_pair(items[f], items[s])\r\n end\r\n end\r\n\r\n process_lines()\r\nend\r\n\r\n-- adds two objects to table of vector lines\r\nfunction draw_with_pair(first, second)\r\n local guid_first = first.getGUID()\r\n local guid_second = second.getGUID()\r\n\r\n if Global.getVectorLines() == nil then lines = {} end\r\n if not lines[guid_first] then lines[guid_first] = {} end\r\n\r\n if lines[guid_first][guid_second] then\r\n lines[guid_first][guid_second] = nil\r\n else\r\n lines[guid_first][guid_second] = { points = { first.getPosition(), second.getPosition() }, color = \"White\" }\r\n end\r\nend\r\n\r\n-- updates the global vector lines based on \"lines\"\r\nfunction process_lines()\r\n local drawing = {}\r\n\r\n for _, first in pairs(lines) do\r\n for _, data in pairs(first) do\r\n table.insert(drawing, data)\r\n end\r\n end\r\n\r\n Global.setVectorLines(drawing)\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"e8e04b\":[]}", - "XmlUI": "" - }, - { - "GUID": "b7b45b", - "Name": "Custom_Token", - "Transform": { - "posX": -10.36, - "posY": 1.5, - "posZ": 17.06, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 1.0, - "scaleZ": 0.5 - }, - "Nickname": "Playmat Image Swapper", - "Description": "Allows changing of the playmat image. Provide URL to the image or leave empty for default image.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.374519974, - "g": 0.374519974, - "b": 0.374519974 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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": "https://i.imgur.com/gs1mtXJ.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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(\"core/PlayAreaSelector\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal controlActive = false\r\nlocal DEFAULT_URL = \"http://cloud-3.steamusercontent.com/ugc/998015670465071049/FFAE162920D67CF38045EFBD3B85AD0F916147B2/\"\r\n\r\n-- parameters for open/close button for reusing\r\nlocal buttonParameters = {}\r\nbuttonParameters.function_owner = self\r\nbuttonParameters.click_function = \"click_toggleControl\"\r\nbuttonParameters.height = 1500\r\nbuttonParameters.width = 1500\r\nbuttonParameters.color = { 1, 1, 1, 0 }\r\n\r\nfunction onLoad()\r\n createOpenCloseButton()\r\nend\r\n\r\n-- click function for main button\r\nfunction click_toggleControl()\r\n self.clearButtons()\r\n self.clearInputs()\r\n\r\n controlActive = not controlActive\r\n createOpenCloseButton()\r\n\r\n if not controlActive then return end\r\n\r\n -- creates the label, input box and apply button\r\n self.createButton({\r\n function_owner = self,\r\n label = \"Playmat Image Swapper\",\r\n tooltip = \"\",\r\n click_function = \"none\",\r\n position = { 0, 0.15, 2.2 },\r\n height = 0,\r\n width = 0,\r\n font_size = 300,\r\n font_color = { 1, 1, 1 }\r\n })\r\n\r\n self.createInput({\r\n function_owner = self,\r\n label = \"URL\",\r\n tooltip = \"Enter URL for playmat image\",\r\n input_function = \"none\",\r\n alignment = 3,\r\n position = { 0, 0.15, 3 },\r\n height = 323,\r\n width = 4000,\r\n font_size = 300\r\n })\r\n\r\n self.createButton({\r\n function_owner = self,\r\n label = \"Apply Image\\nTo Playmat\",\r\n tooltip = \"Left-Click: Apply URL\\nRight-Click: Reset to default image\",\r\n click_function = \"click_applySurface\",\r\n position = { 0, 0.15, 4.1 },\r\n height = 460,\r\n width = 1400,\r\n font_size = 200\r\n })\r\nend\r\n\r\n-- click function for apply button\r\nfunction click_applySurface(_, _, isRightClick)\r\n updateSurface(isRightClick and \"\" or self.getInputs()[1].value)\r\nend\r\n\r\n-- input function for the input box\r\nfunction none() end\r\n\r\n-- main function (can be called by other objects)\r\nfunction updateSurface(newURL)\r\n local playArea = getObjectFromGUID(\"721ba2\")\r\n local customInfo = playArea.getCustomObject()\r\n\r\n if newURL ~= \"\" and newURL ~= nil and newURL ~= DEFAULT_URL then\r\n customInfo.image = newURL\r\n broadcastToAll(\"New Playmat Image Applied\", { 0.2, 0.9, 0.2 })\r\n else\r\n customInfo.image = DEFAULT_URL\r\n broadcastToAll(\"Default Playmat Image Applied\", { 0.2, 0.9, 0.2 })\r\n end\r\n\r\n playArea.setCustomObject(customInfo)\r\n\r\n -- get custom data helper and call the playarea with it after reloading\r\n local customDataHelper = playArea.getVar(\"customDataHelper\")\r\n local guid\r\n\r\n if customDataHelper then guid = customDataHelper.getGUID() end\r\n playArea = playArea.reload()\r\n\r\n if guid ~= nil then\r\n Wait.time(function() playArea.call(\"updateLocations\", { guid }) end, 1)\r\n end\r\nend\r\n\r\n-- creates the main button\r\nfunction createOpenCloseButton()\r\n buttonParameters.tooltip = (controlActive and \"Close\" or \"Open\") .. \" Playmat Panel\"\r\n self.createButton(buttonParameters)\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/PlayAreaSelector\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "15bb07", - "Name": "Bag", - "Transform": { - "posX": 78.0, - "posY": 0.96, - "posZ": 27.031, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "All Player Cards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.7058823, - "g": 0.366520882, - "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, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"playercards/AllCardsBag\")\nend)\n__bundle_register(\"playercards/AllCardsBag\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal cardIdIndex = { }\r\nlocal classAndLevelIndex = { }\r\nlocal basicWeaknessList = { }\r\nlocal uniqueWeaknessList = { }\r\nlocal cycleIndex = { }\r\n\r\nlocal indexingDone = false\r\nlocal allowRemoval = false\r\n\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Rebuild Index\", startIndexBuild)\r\n math.randomseed(os.time())\r\n Wait.frames(startIndexBuild, 30)\r\nend\r\n\r\n-- Called by Hotfix bags when they load. If we are still loading indexes, then\r\n-- the all cards and hotfix bags are being loaded together, and we can ignore\r\n-- this call as the hotfix will be included in the initial indexing. If it is\r\n-- called once indexing is complete it means the hotfix bag has been added\r\n-- later, and we should rebuild the index to integrate the hotfix bag.\r\nfunction rebuildIndexForHotfix()\r\n if (indexingDone) then\r\n startIndexBuild()\r\n end\r\nend\r\n\r\n-- Resets all current bag indexes\r\nfunction clearIndexes()\r\n indexingDone = false\r\n cardIdIndex = { }\r\n classAndLevelIndex = { }\r\n classAndLevelIndex[\"Guardian-upgrade\"] = { }\r\n classAndLevelIndex[\"Seeker-upgrade\"] = { }\r\n classAndLevelIndex[\"Mystic-upgrade\"] = { }\r\n classAndLevelIndex[\"Survivor-upgrade\"] = { }\r\n classAndLevelIndex[\"Rogue-upgrade\"] = { }\r\n classAndLevelIndex[\"Neutral-upgrade\"] = { }\r\n classAndLevelIndex[\"Guardian-level0\"] = { }\r\n classAndLevelIndex[\"Seeker-level0\"] = { }\r\n classAndLevelIndex[\"Mystic-level0\"] = { }\r\n classAndLevelIndex[\"Survivor-level0\"] = { }\r\n classAndLevelIndex[\"Rogue-level0\"] = { }\r\n classAndLevelIndex[\"Neutral-level0\"] = { }\r\n cycleIndex = { }\r\n basicWeaknessList = { }\r\n uniqueWeaknessList = { }\r\nend\r\n\r\n-- Clears the bag indexes and starts the coroutine to rebuild the indexes\r\nfunction startIndexBuild(playerColor)\r\n clearIndexes()\r\n startLuaCoroutine(self, \"buildIndex\")\r\nend\r\n\r\nfunction onObjectLeaveContainer(container, object)\r\n if (container == self and not allowRemoval) then\r\n broadcastToAll(\r\n \"Removing cards from the All Player Cards bag may break some functions. Please replace the card.\",\r\n {0.9, 0.2, 0.2}\r\n )\r\n end\r\nend\r\n\r\n-- Debug option to suppress the warning when cards are removed from the bag\r\nfunction setAllowCardRemoval()\r\n allowRemoval = true\r\nend\r\n\r\n-- Create the card indexes by iterating all cards in the bag, parsing their\r\n-- metadata, and creating the keyed lookup tables for the cards. This is a\r\n-- coroutine which will spread the workload by processing 20 cards before\r\n-- yielding. Based on the current count of cards this will require\r\n-- approximately 60 frames to complete.\r\nfunction buildIndex()\r\n indexingDone = false\r\n if (self.getData().ContainedObjects == nil) then\r\n return 1\r\n end\r\n for i, cardData in ipairs(self.getData().ContainedObjects) do\r\n local cardMetadata = JSON.decode(cardData.GMNotes)\r\n if (cardMetadata ~= nil) then\r\n addCardToIndex(cardData, cardMetadata)\r\n end\r\n if (i % 20 == 0) then\r\n coroutine.yield(0)\r\n end\r\n end\r\n local hotfixBags = getObjectsWithTag(\"AllCardsHotfix\")\r\n for _, hotfixBag in ipairs(hotfixBags) do\r\n if (#hotfixBag.getObjects() > 0) then\r\n for i, cardData in ipairs(hotfixBag.getData().ContainedObjects) do\r\n local cardMetadata = JSON.decode(cardData.GMNotes)\r\n if (cardMetadata ~= nil) then\r\n addCardToIndex(cardData, cardMetadata)\r\n end\r\n end\r\n end\r\n end\r\n buildSupplementalIndexes()\r\n indexingDone = true\r\n return 1\r\nend\r\n\r\n-- Adds a card to any indexes it should be a part of, based on its metadata.\r\n-- Param cardData: TTS object data for the card\r\n-- Param cardMetadata: SCED metadata for the card\r\nfunction addCardToIndex(cardData, cardMetadata)\r\n cardIdIndex[cardMetadata.id] = { data = cardData, metadata = cardMetadata }\r\n if (cardMetadata.alternate_ids ~= nil) then\r\n for _, alternateId in ipairs(cardMetadata.alternate_ids) do\r\n cardIdIndex[alternateId] = { data = cardData, metadata = cardMetadata }\r\n end\r\n end\r\nend\r\n\r\nfunction buildSupplementalIndexes()\r\n for cardId, card in pairs(cardIdIndex) do\r\n local cardData = card.data\r\n local cardMetadata = card.metadata\r\n -- If the ID key and the metadata ID don't match this is a duplicate card created by an\r\n -- alternate_id, and we should skip it\r\n if cardId == cardMetadata.id then\r\n -- Add card to the basic weakness list, if appropriate. Some weaknesses have\r\n -- multiple copies, and are added multiple times\r\n if cardMetadata.weakness then\r\n table.insert(uniqueWeaknessList, cardMetadata.id)\r\n if cardMetadata.basicWeaknessCount ~= nil then\r\n for i = 1, cardMetadata.basicWeaknessCount do\r\n table.insert(basicWeaknessList, cardMetadata.id)\r\n end\r\n end\r\n end\r\n\r\n -- Add the card to the appropriate class and level indexes\r\n local isGuardian = false\r\n local isSeeker = false\r\n local isMystic = false\r\n local isRogue = false\r\n local isSurvivor = false\r\n local isNeutral = false\r\n local upgradeKey\r\n -- Excludes signature cards (which have no class or level) and alternate\r\n -- ID entries\r\n if (cardMetadata.class ~= nil and cardMetadata.level ~= nil) then\r\n isGuardian = string.match(cardMetadata.class, \"Guardian\")\r\n isSeeker = string.match(cardMetadata.class, \"Seeker\")\r\n isMystic = string.match(cardMetadata.class, \"Mystic\")\r\n isRogue = string.match(cardMetadata.class, \"Rogue\")\r\n isSurvivor = string.match(cardMetadata.class, \"Survivor\")\r\n isNeutral = string.match(cardMetadata.class, \"Neutral\")\r\n if (cardMetadata.level > 0) then\r\n upgradeKey = \"-upgrade\"\r\n else\r\n upgradeKey = \"-level0\"\r\n end\r\n if (isGuardian) then\r\n table.insert(classAndLevelIndex[\"Guardian\"..upgradeKey], cardMetadata.id)\r\n end\r\n if (isSeeker) then\r\n table.insert(classAndLevelIndex[\"Seeker\"..upgradeKey], cardMetadata.id)\r\n end\r\n if (isMystic) then\r\n table.insert(classAndLevelIndex[\"Mystic\"..upgradeKey], cardMetadata.id)\r\n end\r\n if (isRogue) then\r\n table.insert(classAndLevelIndex[\"Rogue\"..upgradeKey], cardMetadata.id)\r\n end\r\n if (isSurvivor) then\r\n table.insert(classAndLevelIndex[\"Survivor\"..upgradeKey], cardMetadata.id)\r\n end\r\n if (isNeutral) then\r\n table.insert(classAndLevelIndex[\"Neutral\"..upgradeKey], cardMetadata.id)\r\n end\r\n\r\n local cycleName = cardMetadata.cycle\r\n if cycleName ~= nil then\r\n cycleName = string.lower(cycleName)\r\n if string.match(cycleName, \"return\") then\r\n cycleName = string.sub(cycleName, 11)\r\n end\r\n if cycleName == \"the night of the zealot\" then\r\n cycleName = \"core\"\r\n end\r\n if cycleIndex[cycleName] == nil then\r\n cycleIndex[cycleName] = { }\r\n end\r\n table.insert(cycleIndex[cycleName], cardMetadata.id)\r\n end\r\n end\r\n end\r\n end\r\n for _, indexTable in pairs(classAndLevelIndex) do\r\n table.sort(indexTable, cardComparator)\r\n end\r\n for _, indexTable in pairs(cycleIndex) do\r\n table.sort(indexTable)\r\n end\r\n table.sort(basicWeaknessList, cardComparator)\r\n table.sort(uniqueWeaknessList, cardComparator)\r\nend\r\n\r\n-- Comparison function used to sort the class card bag indexes. Sorts by card\r\n-- level, then name, then subname.\r\nfunction cardComparator(id1, id2)\r\n local card1 = cardIdIndex[id1]\r\n local card2 = cardIdIndex[id2]\r\n\r\n if (card1.metadata.level ~= card2.metadata.level) then\r\n return card1.metadata.level < card2.metadata.level\r\n end\r\n if (card1.data.Nickname ~= card2.data.Nickname) then\r\n return card1.data.Nickname < card2.data.Nickname\r\n end\r\n return card1.data.Description < card2.data.Description\r\nend\r\n\r\nfunction isIndexReady()\r\n return indexingDone\r\nend\r\n\r\n-- Returns a specific card from the bag, based on ArkhamDB ID\r\n-- Params table:\r\n-- id: String ID of the card to retrieve\r\n-- Return: If the indexes are still being constructed, an empty table is\r\n-- returned. Otherwise, a single table with the following fields\r\n-- cardData: TTS object data, suitable for spawning the card\r\n-- cardMetadata: Table of parsed metadata\r\nfunction getCardById(params)\r\n if (not indexingDone) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return { }\r\n end\r\n return cardIdIndex[params.id]\r\nend\r\n\r\n-- Returns a list of cards from the bag matching a class and level (0 or upgraded)\r\n-- Params table:\r\n-- class: String class to retrieve (\"Guardian\", \"Seeker\", etc)\r\n-- isUpgraded: true for upgraded cards (Level 1-5), false for Level 0\r\n-- Return: If the indexes are still being constructed, returns an empty table.\r\n-- Otherwise, a list of tables, each with the following fields\r\n-- cardData: TTS object data, suitable for spawning the card\r\n-- cardMetadata: Table of parsed metadata\r\nfunction getCardsByClassAndLevel(params)\r\n if (not indexingDone) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return { }\r\n end\r\n local upgradeKey\r\n if (params.upgraded) then\r\n upgradeKey = \"-upgrade\"\r\n else\r\n upgradeKey = \"-level0\"\r\n end\r\n return classAndLevelIndex[params.class..upgradeKey];\r\nend\r\n\r\nfunction getCardsByCycle(cycleName)\r\n if (not indexingDone) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return { }\r\n end\r\n return cycleIndex[string.lower(cycleName)]\r\nend\r\n\r\n-- Searches the bag for cards which match the given name and returns a list. Note that this is\r\n-- an O(n) search without index support. It may be slow.\r\n-- Parameter array must contain these fields to define the search:\r\n-- name String or string fragment to search for names\r\n-- exact Whether the name match should be exact\r\nfunction getCardsByName(params)\r\n local name = params.name\r\n local exact = params.exact\r\n local results = { }\r\n -- Track cards (by ID) that we've added to avoid duplicates that may come from alternate IDs\r\n local addedCards = { }\r\n for _, cardData in pairs(cardIdIndex) do\r\n if (not addedCards[cardData.metadata.id]) then\r\n if (exact and (string.lower(cardData.data.Nickname) == string.lower(name)))\r\n or (not exact and string.find(string.lower(cardData.data.Nickname), string.lower(name), 1, true)) then\r\n table.insert(results, cardData)\r\n addedCards[cardData.metadata.id] = true\r\n end\r\n end\r\n end\r\n return results\r\nend\r\n\r\n-- Gets a random basic weakness from the bag. Once a given ID has been returned\r\n-- it will be removed from the list and cannot be selected again until a reload\r\n-- occurs or the indexes are rebuilt, which will refresh the list to include all\r\n-- weaknesses.\r\n-- Return: String ID of the selected weakness.\r\nfunction getRandomWeaknessId()\r\n local availableWeaknesses = buildAvailableWeaknesses()\r\n if (#availableWeaknesses > 0) then\r\n return availableWeaknesses[math.random(#availableWeaknesses)]\r\n end\r\nend\r\n\r\n-- Constructs a list of available basic weaknesses by starting with the full pool of basic\r\n-- weaknesses then removing any which are currently in the play or deck construction areas\r\n-- Return: Table array of weakness IDs which are valid to choose from\r\nfunction buildAvailableWeaknesses()\r\n local weaknessesInPlay = { }\r\n local allObjects = getAllObjects()\r\n for _, object in ipairs(allObjects) do\r\n if (object.name == \"Deck\") then\r\n for _, cardData in ipairs(object.getData().ContainedObjects) do\r\n local cardMetadata = JSON.decode(cardData.GMNotes)\r\n incrementWeaknessCount(weaknessesInPlay, cardMetadata)\r\n end\r\n elseif (object.name == \"Card\") then\r\n local cardMetadata = JSON.decode(object.getGMNotes())\r\n incrementWeaknessCount(weaknessesInPlay, cardMetadata)\r\n end\r\n end\r\n\r\n local availableWeaknesses = { }\r\n for _, weaknessId in ipairs(basicWeaknessList) do\r\n if (weaknessesInPlay[weaknessId] ~= nil and weaknessesInPlay[weaknessId] > 0) then\r\n weaknessesInPlay[weaknessId] = weaknessesInPlay[weaknessId] - 1\r\n else\r\n table.insert(availableWeaknesses, weaknessId)\r\n end\r\n end\r\n return availableWeaknesses\r\nend\r\n\r\nfunction getBasicWeaknesses()\r\n return basicWeaknessList\r\nend\r\n\r\nfunction getUniqueWeaknesses()\r\n return uniqueWeaknessList\r\nend\r\n\r\n-- Helper function that adds one to the table entry for the number of weaknesses in play\r\nfunction incrementWeaknessCount(table, cardMetadata)\r\n if (isBasicWeakness(cardMetadata)) then\r\n if (table[cardMetadata.id] == nil) then\r\n table[cardMetadata.id] = 1\r\n else\r\n table[cardMetadata.id] = table[cardMetadata.id] + 1\r\n end\r\n end\r\nend\r\n\r\nfunction isBasicWeakness(cardMetadata)\r\n return cardMetadata ~= nil\r\n and cardMetadata.weakness\r\n and cardMetadata.basicWeaknessCount ~= nil\r\n and cardMetadata.basicWeaknessCount > 0\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "758b0a", - "Name": "Card", - "Transform": { - "posX": 98.638, - "posY": 1.95, - "posZ": 13.549, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Subject 5U-21", - "Description": "The Anomaly", - "GMNotes": "{\r\n \"id\": \"89001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Manifold.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 783400, - "SidewaysCard": true, - "CustomDeck": { - "7834": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452416622/99F2F8C07563017227575133591A2111C15180C6/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452419990/9A769754F1A76469A5C4A25DDEB84B92C9D93CAA/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "12d3de", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.128, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Subject 5U-21", - "Description": "", - "GMNotes": "{\n \"id\": \"89001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 294000, - "SidewaysCard": false, - "CustomDeck": { - "2940": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2042998544436738563/4317A83EB12E7BC2267E9C186CDF8F6A02A4EBDF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2042998544436738966/02CB2DE01EE3262E2175C8434CB750C0D73266AF/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a1b3a", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.346, - "posZ": 65.933, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Regurgitation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"89003\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Power.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 399000, - "SidewaysCard": false, - "CustomDeck": { - "3990": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452426838/959679B9F2B8AA454A88141B5A2B729701743308/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a1b3a", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.346, - "posZ": 65.933, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Reality Acid", - "Description": "", - "GMNotes": "{\r\n \"id\": \"89004\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Power.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 399001, - "SidewaysCard": false, - "CustomDeck": { - "3990": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452426838/959679B9F2B8AA454A88141B5A2B729701743308/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "858b0a", - "Name": "Card", - "Transform": { - "posX": 98.638, - "posY": 1.95, - "posZ": 13.549, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Reality Acid Reference", - "Description": "", - "GMNotes": "{\r\n \"id\": \"89005\",\r\n \"type\": \"Story\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 783403, - "SidewaysCard": false, - "CustomDeck": { - "7834": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452416622/99F2F8C07563017227575133591A2111C15180C6/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452419990/9A769754F1A76469A5C4A25DDEB84B92C9D93CAA/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "558b0a", - "Name": "Card", - "Transform": { - "posX": 98.638, - "posY": 1.95, - "posZ": 13.549, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ravenous", - "Description": "(Un)-Controlled Hunger", - "GMNotes": "{\r\n \"id\": \"89002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"startsInPlay\": true,\r\n \"traits\": \"Talent.\",\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 783402, - "SidewaysCard": false, - "CustomDeck": { - "7834": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452416622/99F2F8C07563017227575133591A2111C15180C6/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2042998544452419990/9A769754F1A76469A5C4A25DDEB84B92C9D93CAA/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4deeff", - "Name": "Card", - "Transform": { - "posX": 14.499, - "posY": 2.209, - "posZ": 57.18, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Charlie Kane", - "Description": "", - "GMNotes": "{\n \"id\": \"09018-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 846105, - "SidewaysCard": false, - "CustomDeck": { - "8461": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653462/E5CB5A50E22021314BB8963E47516DBE8092D8EF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653683/60799F36ADCEBB9027393DBB518B4025D1953FA0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd40c0", - "Name": "Card", - "Transform": { - "posX": 50.419, - "posY": 2.495, - "posZ": 23.819, - "rotX": 2.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Finn Edwards", - "Description": "The Bootlegger", - "GMNotes": "{\r\n \"id\": \"04003\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271518, - "SidewaysCard": true, - "CustomDeck": { - "2715": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "46b145", - "Name": "Card", - "Transform": { - "posX": 53.274, - "posY": 3.137, - "posZ": 22.081, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Monterey Jack", - "Description": "The Archeologist", - "GMNotes": "{\r\n \"id\": \"08007\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Wayfarer.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 5,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379502, - "SidewaysCard": true, - "CustomDeck": { - "3795": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "acf2b0", - "Name": "Card", - "Transform": { - "posX": 96.323, - "posY": 1.985, - "posZ": 18.181, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"If it bleeds...\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02225\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226312, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7001be", - "Name": "Card", - "Transform": { - "posX": 81.464, - "posY": 2.319, - "posZ": 6.074, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Beat Cop (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01028\",\r\n \"alternate_ids\": [\r\n \"01528\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Police.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226348, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "876557", - "Name": "Card", - "Transform": { - "posX": 78.272, - "posY": 1.061, - "posZ": 26.808, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hard Times", - "Description": "", - "GMNotes": "{\r\n \"id\": \"90048\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Hardship.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 381101, - "SidewaysCard": false, - "CustomDeck": { - "3811": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021604542994812442/CC009EA96D868F7ED096DF8877B0416EE12A6D14/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "876557", - "Name": "Card", - "Transform": { - "posX": 78.272, - "posY": 1.061, - "posZ": 26.808, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pete's Guitar", - "Description": "", - "GMNotes": "{\r\n \"id\": \"90047\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Instrument.\",\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 381100, - "SidewaysCard": false, - "CustomDeck": { - "3811": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021604542994812442/CC009EA96D868F7ED096DF8877B0416EE12A6D14/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5294c3", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.806, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Ashcan\" Pete (Parallel Front)", - "Description": "The Drifter", - "GMNotes": "{\r\n \"id\": \"02005-pf\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 459806, - "SidewaysCard": true, - "CustomDeck": { - "4598": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021604542994812173/E39BFF9281E1A524A9B7306D74DD5E113E583A93/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5294c3", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.806, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Ashcan\" Pete (Parallel Back)", - "Description": "The Drifter", - "GMNotes": "{\r\n \"id\": \"02005-pb\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 469806, - "SidewaysCard": true, - "CustomDeck": { - "4698": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2021604542994811899/546E9EC438ED6293D5583ACCF896000268A641D8/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5294c3", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.806, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Ashcan\" Pete (Parallel)", - "Description": "The Drifter", - "GMNotes": "{\r\n \"id\": \"02005-p\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 479806, - "SidewaysCard": true, - "CustomDeck": { - "4798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021604542994812173/E39BFF9281E1A524A9B7306D74DD5E113E583A93/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2021604542994811899/546E9EC438ED6293D5583ACCF896000268A641D8/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b2e10", - "Name": "CardCustom", - "Transform": { - "posX": 30.122, - "posY": 2.305, - "posZ": -68.595, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Necronomicon", - "Description": "John Dee Translation (Advanced)", - "GMNotes": "{\r\n \"id\": \"90003\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Item. Tome.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 539500, - "SidewaysCard": false, - "CustomDeck": { - "5395": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1017195287736531119/B300331BEF8B29732A2AD6123D59380B7ECB631C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4edb91", - "Name": "Card", - "Transform": { - "posX": 28.495, - "posY": 2.304, - "posZ": -68.825, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Roland's .38 Special", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01006\",\r\n \"alternate_ids\": [\r\n \"01506\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586125, - "SidewaysCard": false, - "CustomDeck": { - "5861": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4ea68b", - "Name": "Card", - "Transform": { - "posX": 32.188, - "posY": 2.303, - "posZ": -77.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stubborn Detective", - "Description": "Enemy", - "GMNotes": "{\r\n \"id\": \"01103\",\r\n \"alternate_ids\": [\r\n \"01603\"\r\n ],\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Detective.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527418, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8948c4", - "Name": "Card", - "Transform": { - "posX": 33.278, - "posY": 2.303, - "posZ": -79.216, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Emergency Cache (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02194\",\r\n \"alternate_ids\": [\r\n \"01693\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Supply.\",\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368519, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e6c55", - "Name": "Card", - "Transform": { - "posX": 32.894, - "posY": 2.303, - "posZ": -77.65, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Charisma (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02158\",\r\n \"alternate_ids\": [\r\n \"01694\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292524, - "SidewaysCard": false, - "CustomDeck": { - "2925": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c959c", - "Name": "Card", - "Transform": { - "posX": 30.496, - "posY": 2.301, - "posZ": -81.428, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Relic Hunter (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02157\",\r\n \"alternate_ids\": [\r\n \"01695\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368523, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b265c4", - "Name": "Card", - "Transform": { - "posX": 20.514, - "posY": 1.985, - "posZ": -102.604, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deduction", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01039\",\r\n \"alternate_ids\": [\r\n \"60219\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368402, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "08bdf1", - "Name": "Card", - "Transform": { - "posX": 83.384, - "posY": 1.985, - "posZ": -10.394, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guard Dog", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Creature.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226326, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fd9c56", - "Name": "Card", - "Transform": { - "posX": 118.385, - "posY": 1.985, - "posZ": 19.411, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Through the Gates", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"51011\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Pact. Mystery.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527419, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "176836", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.706, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Watchful Peace (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07269\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Spirit. Blessed.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449608, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f763e8", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.706, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unearth the Ancients", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04024\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368410, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c32e2", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.706, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sword Cane", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07029\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582423, - "SidewaysCard": false, - "CustomDeck": { - "5824": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "19b705", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.8, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05116-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450621, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf4f15", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.8, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flamethrower (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04305\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314002, - "SidewaysCard": false, - "CustomDeck": { - "3140": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6714b2", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.8, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Zebulon Whateley", - "Description": "Recalling Ancient Things", - "GMNotes": "{\r\n \"id\": \"02217\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Dunwich.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232949, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "842d41", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.99, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Switchblade (2) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02152-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Melee. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450603, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3cc1e2", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.99, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flute of the Outer Gods (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07268\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 4,\r\n \"traits\": \"Item. Instrument. Relic. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449607, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/FluteoftheOuterGods4\")\nend)\n__bundle_register(\"playercards/cards/FluteoftheOuterGods4\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Curse\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ef46e9", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.077, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Meditative Trance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08061\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379051, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "87718c", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.077, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Relic of Ages", - "Description": "Repossess the Past", - "GMNotes": "{\r\n \"id\": \"04303\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 235840, - "SidewaysCard": false, - "CustomDeck": { - "2358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777501236/D145C8B748FB42258EB442B9DF36797851CEECC3/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "35bc58", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.21, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Relic of Ages", - "Description": "Unleash the Timestream", - "GMNotes": "{\r\n \"id\": \"04343\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 235857, - "SidewaysCard": false, - "CustomDeck": { - "2358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777501236/D145C8B748FB42258EB442B9DF36797851CEECC3/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1d1901", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.21, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Call for Backup (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08129\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Favor. Synergy.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378916, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5ade28", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.34, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blur (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08111\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue|Mystic\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378949, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b10a71", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.34, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shards of the Void (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04310\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 278102, - "SidewaysCard": false, - "CustomDeck": { - "2781": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/ShardsoftheVoid3\")\nend)\n__bundle_register(\"playercards/cards/ShardsoftheVoid3\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"0\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8dda2d", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.49, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Colt Vest Pocket (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545205, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45956a", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.51, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Third Time's a Charm (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07161\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232109, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8e8a14", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.51, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spectral Razor", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06201\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448029, - "SidewaysCard": false, - "CustomDeck": { - "4480": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7b6ab5", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.577, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Analytical Mind", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03010\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Talent.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374532, - "SidewaysCard": false, - "CustomDeck": { - "3745": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "194d88", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.591, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets (3)", - "Description": "Mystic", - "GMNotes": "{\r\n \"id\": \"05189\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293315, - "SidewaysCard": false, - "CustomDeck": { - "2933": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2acced", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.591, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ornate Bow (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04204\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Weapon. Ranged.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368528, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6945f7", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.652, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Watcher from Another Dimension", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06017\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Extradimensional.\",\r\n \"weakness\": true,\r\n \"hidden\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581311, - "SidewaysCard": false, - "CustomDeck": { - "5813": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9a5cb1", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.652, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Protective Gear (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08095\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Survivor\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Item. Armor.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378933, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ba560e", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.709, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trench Coat", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04203\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Clothing.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368518, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "27b4ea", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.714, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wendy's Amulet", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01014\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590608, - "SidewaysCard": false, - "CustomDeck": { - "5906": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0414b4", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.714, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dig Deep (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50009\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368845, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "101a41", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.765, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".18 Derringer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60505\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550803, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "91e890", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.765, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Seal of the Elder Sign (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03312\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 5,\r\n \"traits\": \"Spell. Expert.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230359, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c1d796", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.813, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Survival Knife (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545201, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c0249", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.688, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guardian Angel", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ritual. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580500, - "SidewaysCard": false, - "CustomDeck": { - "5805": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bd323d", - "Name": "CardCustom", - "Transform": { - "posX": 8.972, - "posY": 4.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hospital Debts", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90010\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 541300, - "SidewaysCard": false, - "CustomDeck": { - "5413": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830597915335843/99E638B3D735149C6624312DBAB47A3AA2D2F95D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3add54", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cheat Death (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03310\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 5,\r\n \"traits\": \"Trick. Fated.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315261, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "147cb2", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.756, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Laboratory Assistant", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02020\",\r\n \"alternate_ids\": [\r\n \"60212\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic. Science.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586506, - "SidewaysCard": false, - "CustomDeck": { - "5865": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ae16e8", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.756, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream Parasite", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"06331\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"wildIcons\": 2,\r\n \"negativeIcons\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448736, - "SidewaysCard": false, - "CustomDeck": { - "4487": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d4a68a", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.756, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Delve Too Deep (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02111-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"victory\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450615, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2d2246", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.884, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Holy Rosary (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07220\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Charm. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579300, - "SidewaysCard": false, - "CustomDeck": { - "5793": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6fec31", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.884, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Think on Your Feet", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02025\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368709, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7e7873", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.01, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prescient", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60419\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced. Augury.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538717, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5cb973", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.01, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fine Clothes", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02272\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Clothing.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368511, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "14424c", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.082, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mano a Mano (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60125\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spirit. Bold.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545323, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4ea716", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.082, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Studious (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05276\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 592419, - "SidewaysCard": false, - "CustomDeck": { - "5924": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "80628f", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.082, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Inspiring Presence", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03228\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226301, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ba16cb", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.201, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Medical Texts", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368425, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "205385", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.201, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blessing of Isis (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07190\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Ritual. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580801, - "SidewaysCard": false, - "CustomDeck": { - "5808": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "acd0da", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.201, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I've got a plan!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02107\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368418, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "52a677", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.266, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ace of Rods (1)", - "Description": "The Fateful Step", - "GMNotes": "{\r\n \"id\": \"05040\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 318703, - "SidewaysCard": false, - "CustomDeck": { - "3187": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f03baa", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.266, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Custom Ammunition (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04193\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Upgrade. Supply. Blessed.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226354, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45bdf0", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.329, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Desperate Search", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03117\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Desperate.\",\r\n \"intellectIcons\": 4,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368507, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f68105", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.329, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eye of Chaos (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07227\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 5,\r\n \"level\": 4,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579707, - "SidewaysCard": false, - "CustomDeck": { - "5797": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "33f906", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.329, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tempt Fate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07037\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Blessed. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583531, - "SidewaysCard": false, - "CustomDeck": { - "5835": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a92a90", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.329, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grit Your Teeth", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60515\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550813, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c40cb4", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.437, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Watch this!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03233\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Gambit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261700, - "SidewaysCard": false, - "CustomDeck": { - "2617": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c607c5", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.393, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky Cigarette Case", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04107\",\r\n \"alternate_ids\": [\r\n \"60308\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368624, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2c6509", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.346, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".45 Thompson", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05115\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Rogue\",\r\n \"cost\": 6,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277608, - "SidewaysCard": false, - "CustomDeck": { - "2776": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "74840a", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.295, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bear Trap", - "Description": "Trap.", - "GMNotes": "{\r\n \"id\": \"81020\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Trap.\",\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 454100, - "SidewaysCard": false, - "CustomDeck": { - "4541": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/138879070086634183/2856A2C2077CFA2C61B9EF2498CAE6865024DB72/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc9563", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.242, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pilfer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60315\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538613, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a4b514", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.185, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Abbess Allegria Di Biase", - "Description": "Ally. Believer.", - "GMNotes": "{\r\n \"id\": \"82022\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Believer.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 4000, - "SidewaysCard": false, - "CustomDeck": { - "40": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/87094793642329861/9768E9FE9C71E74721340D0D81607F534E54A3DE/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1bd139", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.126, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Haste (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06239\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447632, - "SidewaysCard": false, - "CustomDeck": { - "4476": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "726d1d", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.997, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Valentino Rivas", - "Description": "Took You Long Enough", - "GMNotes": "{\r\n \"id\": \"05261\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Socialite.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312514, - "SidewaysCard": false, - "CustomDeck": { - "3125": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/786356000879761873/F22612DB451928DCA4344F3F125F5A8CE128A817/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3d22c4", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.997, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Empower Self (2)", - "Description": "Acuity", - "GMNotes": "{\r\n \"id\": \"06243\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448033, - "SidewaysCard": false, - "CustomDeck": { - "4480": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e425d0", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.028, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Research", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04109\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230315, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b40b98", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.028, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "De Vermis Mysteriis (2)", - "Description": "Signs of the Black Stars", - "GMNotes": "{\r\n \"id\": \"05235\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293313, - "SidewaysCard": false, - "CustomDeck": { - "2933": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "62cf25", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 5.006, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I'm outta here!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02151\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Trick. Spirit.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368707, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ecd087", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.931, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Caught Red-Handed", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04012\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Blunder.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 376840, - "SidewaysCard": false, - "CustomDeck": { - "3768": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ef43db", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.931, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Robes of Endless Night (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60422\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Clothing.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538720, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45c582", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.903, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hope", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06031\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"traits\": \"Ally. Creature. Dreamlands.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440624, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d71f11", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.903, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bloodstained Dagger", - "Description": "The Murder Weapon", - "GMNotes": "{\r\n \"id\": \"84006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Weapon. Melee. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 274100, - "SidewaysCard": false, - "CustomDeck": { - "2741": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493212055041441/90F035BD69A7C5C6B6F43426DDDA3A09DFCBCBDF/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ddee79", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.871, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stealth", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03028\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368626, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4e405d", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.787, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sea Change Harpoon", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07014\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587308, - "SidewaysCard": false, - "CustomDeck": { - "5873": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1dbc95", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.749, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Charon's Obol (1)", - "Description": "The Ferryman's Pay", - "GMNotes": "{\r\n \"id\": \"03308\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315233, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a565d5", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.749, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shroud of Shadows", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07119\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553111, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b1ad65", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.758, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "M1918 BAR (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04229\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 5,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 8,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226358, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "869d4c", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.758, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trial by Fire", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05281\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374418, - "SidewaysCard": false, - "CustomDeck": { - "3744": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eca1c8", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.714, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Versatile (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06167\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379711, - "SidewaysCard": false, - "CustomDeck": { - "3797": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1f3880", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.714, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Smuggled Goods", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04010\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Supply. Illicit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 376938, - "SidewaysCard": false, - "CustomDeck": { - "3769": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7d3a27", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.714, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "All In (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04309\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 5,\r\n \"traits\": \"Fortune.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 265502, - "SidewaysCard": false, - "CustomDeck": { - "2655": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bb501b", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.717, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rise to the Occasion (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51010\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 3,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314904, - "SidewaysCard": false, - "CustomDeck": { - "3149": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "312d38", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.717, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hallowed Mirror", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05313\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Occult. Blessed.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 3,\r\n \"id\": \"05314\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378620, - "SidewaysCard": false, - "CustomDeck": { - "3786": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e1aedf", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.717, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Miss Doyle (1)", - "Description": "Cat General of Ulthar", - "GMNotes": "{\r\n \"id\": \"06030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Creature. Dreamlands.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06031\"\r\n },\r\n {\r\n \"count\": 1,\r\n \"id\": \"06032\"\r\n },\r\n {\r\n \"count\": 1,\r\n \"id\": \"06033\"\r\n }\r\n ],\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440623, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0027f2", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.717, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Will to Survive (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01085\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368860, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dffe4a", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.663, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrapper (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02193\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368853, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "00b6c3", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.335, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "To Fight the Black Wind", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98012\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task. Dreamlands.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230603, - "SidewaysCard": false, - "CustomDeck": { - "2306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "84ba9d", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.051, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I'll see you in hell!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03189\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226307, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "71d99c", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.689, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Occult Lexicon (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54004\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome. Occult.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 3,\r\n \"id\": \"05317\"\r\n }\r\n ],\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449524, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b0f851", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.759, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".32 Colt", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03020\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226328, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "25ad44", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.759, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Kerosene (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04304\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314003, - "SidewaysCard": false, - "CustomDeck": { - "3140": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "86cf9c", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.826, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unbound Beast", - "Description": "Monster. Extradimensional. Tindalos.", - "GMNotes": "{\r\n \"id\": \"06283\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Extradimensional. Tindalos.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527236, - "SidewaysCard": false, - "CustomDeck": { - "5272": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5cd622", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.826, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "First Aid", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01019\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226324, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b51688", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.826, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Joey \"The Rat\" Vigil", - "Description": "Lookin' Out For #1", - "GMNotes": "{\r\n \"id\": \"02265\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368629, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "831b6b", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.94, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prepared for the Worst", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02184\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226310, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ab574", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.94, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mk 1 Grenades (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05273\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Ranged.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378617, - "SidewaysCard": false, - "CustomDeck": { - "3786": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2fdcc9", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.001, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Vault of Knowledge", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60202\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538800, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "13413d", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.058, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Connect the Dots", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05025\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430809, - "SidewaysCard": false, - "CustomDeck": { - "4308": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eb6165", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.062, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Working a Hunch", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01037\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368413, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f6dfe5", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.062, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grete Wagner", - "Description": "The Purifier", - "GMNotes": "{\r\n \"id\": \"60107\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 5,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Hunter.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545305, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c56d3", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.113, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancient Stone (4)", - "Description": "Minds in Harmony", - "GMNotes": "{\r\n \"id\": \"04231\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 262201, - "SidewaysCard": false, - "CustomDeck": { - "2622": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e84eff", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 4.113, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eldritch Inspiration (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60420\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538718, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9bc46e", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.155, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancient Stone (1)", - "Description": "Unidentified", - "GMNotes": "{\r\n \"id\": \"04022\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430639, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "180b5b", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.155, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sell Your Soul", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"53015\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545214, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b7c316", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.196, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gaze of Ouraxsh (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07155\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232103, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d64c99", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.185, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Truth from Fiction", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04152\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368412, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5f33be", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.185, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Handcuffs", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04265\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Police.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 313301, - "SidewaysCard": false, - "CustomDeck": { - "3133": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6eda3", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.22, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Agency Backup (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05274\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 7,\r\n \"level\": 5,\r\n \"traits\": \"Ally. Agency.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378618, - "SidewaysCard": false, - "CustomDeck": { - "3786": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf9ca8", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.22, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Augur", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06033\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"traits\": \"Ally. Creature. Dreamlands.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440626, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "68fce2", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.251, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mists of R'lyeh (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04271\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230357, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "14e212", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.23, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Delve Too Deep", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02111\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"victory\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230310, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "85e7d9", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.206, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Accursed Fate", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"04041\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 537608, - "SidewaysCard": false, - "CustomDeck": { - "5376": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2ebdf1", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.178, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On Your Own (3)", - "Description": "Permanent", - "GMNotes": "{\r\n \"id\": \"53010\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545209, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "66d810", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.114, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Zoey's Cross", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Charm.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371704, - "SidewaysCard": false, - "CustomDeck": { - "3717": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6047d6", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.114, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pendant of the Queen (Taboo)", - "Description": "Of Nothing at All", - "GMNotes": "{\r\n \"id\": \"06022-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Item. Relic.\",\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584709, - "SidewaysCard": false, - "CustomDeck": { - "5847": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "734b45", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.127, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dig Deep (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07270\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449609, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98c5af", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.127, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream-Enhancing Serum", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06159\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379931, - "SidewaysCard": false, - "CustomDeck": { - "3799": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "62d930", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.137, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Gold Pocket Watch (4)", - "Description": "Stealing Time", - "GMNotes": "{\r\n \"id\": \"02305\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315257, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "274daa", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.137, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mysteries Remain", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98005\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 370046, - "SidewaysCard": false, - "CustomDeck": { - "3700": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "017e1f", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.144, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Overpower (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60126\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"combatIcons\": 3,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545324, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b39b78", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.144, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grete Wagner (3)", - "Description": "The Purifier", - "GMNotes": "{\r\n \"id\": \"60128\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 5,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Hunter.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545326, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8f3c8e", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.144, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hypnotic Gaze", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02153\",\r\n \"alternate_ids\": [\r\n \"60414\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230313, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8ae314", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.197, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Milan Christopher (Taboo)", - "Description": "Professor of Entomology", - "GMNotes": "{\r\n \"id\": \"01033-t\",\r\n \"alternate_ids\": [\r\n \"01533-t\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450614, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "949ca2", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.197, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crystalline Elder Sign (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04235\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230353, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/CrystallineElderSign3\")\nend)\n__bundle_register(\"playercards/cards/CrystallineElderSign3\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"+1\"] = true,\r\n [\"Elder Sign\"] = true\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e2767a", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.197, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cunning", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05030\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527606, - "SidewaysCard": false, - "CustomDeck": { - "5276": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7f99cc", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.144, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pathfinder (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02108\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430641, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b67371", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.144, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clairvoyance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60408\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538706, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0c433b", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.144, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dumb Luck (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60525\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550823, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b7c503", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.188, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ghastly Revelation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05275\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 592318, - "SidewaysCard": false, - "CustomDeck": { - "5923": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c4d436", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.179, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ace of Swords (1)", - "Description": "Let Your Arrow Fly True", - "GMNotes": "{\r\n \"id\": \"05023\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431009, - "SidewaysCard": false, - "CustomDeck": { - "4310": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "88a481", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.179, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Streetwise (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02189-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450605, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2d9256", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.179, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Directive", - "Description": "Consult Experts", - "GMNotes": "{\r\n \"id\": \"90027\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536202, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "66b7d5", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.201, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Well Connected", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05028\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Condition.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527608, - "SidewaysCard": false, - "CustomDeck": { - "5276": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d24531", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.201, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deny Existence (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05280\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 5,\r\n \"traits\": \"Spell. Paradox.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379617, - "SidewaysCard": false, - "CustomDeck": { - "3796": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5065a6", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.182, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Liquid Courage (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60320\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Item. Illicit.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538618, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "35e8e2", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.182, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pocket Portal", - "Description": "Doorway to Another World", - "GMNotes": "{\r\n \"id\": \"86052\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Spell.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584027, - "SidewaysCard": false, - "CustomDeck": { - "5840": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600953065965648/5A0D88CCA811A490C2FEF2675A397E1CEE010870/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "464ca1", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.182, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wish Eater", - "Description": "Jewel of the Gods", - "GMNotes": "{\r\n \"id\": \"06277\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Item. Relic. Blessed.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448937, - "SidewaysCard": false, - "CustomDeck": { - "4489": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ad63bc", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.21, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Showmanship", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07012\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580206, - "SidewaysCard": false, - "CustomDeck": { - "5802": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "971d52", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.135, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Familiar Spirit", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60410\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Creature. Summon.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538708, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "46187b", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.057, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Five of Pentacles (1)", - "Description": "From the Brink", - "GMNotes": "{\r\n \"id\": \"05039\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 274609, - "SidewaysCard": false, - "CustomDeck": { - "2746": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5e32a5", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.057, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Preposterous Sketches (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51003\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 313906, - "SidewaysCard": false, - "CustomDeck": { - "3139": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a4775a", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.026, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchanted Skull", - "Description": "Mask of the Burning Pit", - "GMNotes": "{\r\n \"id\": \"86055\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585230, - "SidewaysCard": false, - "CustomDeck": { - "5852": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600953065965648/5A0D88CCA811A490C2FEF2675A397E1CEE010870/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ea40f6", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 4.026, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream Diary (3)", - "Description": "Dreams of a Child", - "GMNotes": "{\r\n \"id\": \"06238\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome. Charm.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06113\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447836, - "SidewaysCard": false, - "CustomDeck": { - "4478": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0d4eb9", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.991, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trench Knife", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03147\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226320, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ab37af", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.991, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scene of the Crime", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04103\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Bold.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226318, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ee20c9", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.954, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Newspaper", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02155\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368826, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3442f5", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.954, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "False Covenant (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07116\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 2,\r\n \"traits\": \"Covenant. Cursed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553108, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7bc995", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.82, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ward of Protection (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02307\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 5,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230360, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "be4abe", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.82, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Survival Instinct (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02235\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368842, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb9b7e", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.82, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Brute Force (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06166\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Developed.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380230, - "SidewaysCard": false, - "CustomDeck": { - "3802": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b67931", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.82, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Elusive (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01050-t\",\r\n \"alternate_ids\": [\r\n \"01550-t\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585804, - "SidewaysCard": false, - "CustomDeck": { - "5858": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f295d9", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.873, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clasp of Black Onyx", - "Description": "A Gift Unlooked For", - "GMNotes": "{\r\n \"id\": \"03142\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232332, - "SidewaysCard": false, - "CustomDeck": { - "2323": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1f7e6e", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.773, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Thomas Dawson", - "Description": "Soldier in a New War", - "GMNotes": "{\r\n \"id\": \"07082\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Agency. Veteran.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 369815, - "SidewaysCard": false, - "CustomDeck": { - "3698": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663476/95B0BD966B579DEE644A25703730C8729B16AAF8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "83d8d7", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.773, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leadership", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02260\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226303, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "60b353", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.719, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Preposterous Sketches", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02186\",\r\n \"alternate_ids\": [\r\n \"60218\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368416, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07350b", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.692, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Decorated Skull", - "Description": "Doom Begets Doom", - "GMNotes": "{\r\n \"id\": \"04026\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Cursed.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368618, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "24eb36", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.692, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eldritch Inspiration", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05033\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583604, - "SidewaysCard": false, - "CustomDeck": { - "5836": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c49b4b", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.686, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alejandro Vela", - "Description": "Renowned Historian", - "GMNotes": "{\r\n \"id\": \"04051\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 235600, - "SidewaysCard": false, - "CustomDeck": { - "2356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777497046/3003A76996378249E6AAA4A60D85AE7EE59C1B8B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "315b45", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.677, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rite of Equilibrium (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07308\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 5,\r\n \"traits\": \"Spell. Blessed. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589707, - "SidewaysCard": false, - "CustomDeck": { - "5897": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "819aee", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.677, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sleight of Hand", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03029\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368710, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b4b991", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.683, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shining Trapezohedron (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06329\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527238, - "SidewaysCard": false, - "CustomDeck": { - "5272": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3319be", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.683, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clean Them Out", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60111\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545309, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bc4788", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.686, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Feed the Mind (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04267\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 262200, - "SidewaysCard": false, - "CustomDeck": { - "2622": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6de21b", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.686, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Knowledge is Power", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05231\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293215, - "SidewaysCard": false, - "CustomDeck": { - "2932": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ffe4dd", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.685, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Empower Self (2)", - "Description": "Stamina", - "GMNotes": "{\r\n \"id\": \"06241\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448031, - "SidewaysCard": false, - "CustomDeck": { - "4480": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "408cb5", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.685, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Emergency Cache (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03239\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Supply.\",\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368520, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7baf75", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.682, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Backstab (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60329\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538627, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c729ab", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.682, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Green Man Medallion", - "Description": "Hour of the Huntress", - "GMNotes": "{\r\n \"id\": \"98002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371565, - "SidewaysCard": false, - "CustomDeck": { - "3715": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b3cad4", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.684, - "posZ": -16.688, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daredevil (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06240\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 2,\r\n \"traits\": \"Fortune. Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447633, - "SidewaysCard": false, - "CustomDeck": { - "4476": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2204cc", - "Name": "Card", - "Transform": { - "posX": 8.971, - "posY": 3.674, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Self-Destructive", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"60104\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545302, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f3142", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptographic Cipher", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580315, - "SidewaysCard": false, - "CustomDeck": { - "5803": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa61ba", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strange Solution (4)", - "Description": "Acidic Ichor", - "GMNotes": "{\r\n \"id\": \"02263\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Science.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430655, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "683937", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Delay the Inevitable", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05021\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Spirit. Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431007, - "SidewaysCard": false, - "CustomDeck": { - "4310": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f66dd9", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.767, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Snare Trap (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03199\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Trap. Improvised.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368849, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d3e55b", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.759, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Timeworn Brand (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04276\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 5,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261100, - "SidewaysCard": false, - "CustomDeck": { - "2611": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "812175", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.748, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Logical Reasoning", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03191\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368417, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f998c5", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.733, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sign Magick (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ritual. Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449528, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5888da", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.733, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Old Keyring", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60507\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Key\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550805, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "79287f", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.765, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Torrent of Power", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03235\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230300, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e25dc1", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.765, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "True Grit", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226329, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ac9763", - "Name": "Card", - "Transform": { - "posX": 8.972, - "posY": 3.794, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Purifying Corruption (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07273\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ritual. Blessed. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449612, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "af3efd", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.77, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Relentless", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60109\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545307, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ea0fa1", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.77, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unspeakable Oath (Cowardice)", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"52013\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness. Pact.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"hidden\": true,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438122, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "46812e", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.793, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sacrificial Beast", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98003\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Dark Young.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371466, - "SidewaysCard": false, - "CustomDeck": { - "3714": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c5099", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.793, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Whitton Greene", - "Description": "Hunter of Rare Books", - "GMNotes": "{\r\n \"id\": \"60213\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538811, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c7d9b5", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.812, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchanted Blade", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05118\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic|Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277607, - "SidewaysCard": false, - "CustomDeck": { - "2776": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2c563c", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.812, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Anything You Can Do, Better", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60302\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 6,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538600, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "159f82", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.829, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Knight of Swords (3)", - "Description": "Charge Ever Onward", - "GMNotes": "{\r\n \"id\": \"54005\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449525, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5ada0a", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.829, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hawk-Eye Folding Camera", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05154\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277813, - "SidewaysCard": false, - "CustomDeck": { - "2778": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "19ab7c", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.842, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Otherworldly Compass (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04194\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430647, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "823e49", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.842, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tides of Fate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07030\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581024, - "SidewaysCard": false, - "CustomDeck": { - "5810": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ce3a1a", - "Name": "Card", - "Transform": { - "posX": 8.973, - "posY": 3.852, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Vengeful Hound", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98009\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Extradimensional. Tindalos.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380949, - "SidewaysCard": false, - "CustomDeck": { - "3809": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4c0f00", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.809, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Empower Self (2)", - "Description": "Alacrity", - "GMNotes": "{\r\n \"id\": \"06242\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448032, - "SidewaysCard": false, - "CustomDeck": { - "4480": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c922f", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.809, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Storm of Spirits", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03153\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230314, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "756a35", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.809, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Kukri", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02036\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368516, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "04d33d", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.862, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky! (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60528\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Fortune.\",\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550826, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6446d1", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.813, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrying Mirror", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60406\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538704, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "df182a", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.813, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eye of the Djinn (2)", - "Description": "Vessel of Good and Evil", - "GMNotes": "{\r\n \"id\": \"07225\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic. Blessed. Cursed.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590105, - "SidewaysCard": false, - "CustomDeck": { - "5901": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f4dd3d", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.81, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shocking Discovery", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06009\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Blunder. Mystery.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583703, - "SidewaysCard": false, - "CustomDeck": { - "5837": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da7613", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.804, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Prophecy", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04032\",\r\n \"alternate_ids\": [\r\n \"60417\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Augury.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230309, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "06abe0", - "Name": "Card", - "Transform": { - "posX": 8.974, - "posY": 3.745, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shield of Faith (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07221\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589001, - "SidewaysCard": false, - "CustomDeck": { - "5890": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/ShieldofFaith2\")\nend)\n__bundle_register(\"playercards/cards/ShieldofFaith2\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Bless\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bf5a5f", - "Name": "Card", - "Transform": { - "posX": 8.975, - "posY": 3.683, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Small Favor", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05277\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Favor. Service.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378016, - "SidewaysCard": false, - "CustomDeck": { - "3780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b4666d", - "Name": "Card", - "Transform": { - "posX": 8.975, - "posY": 3.674, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Beloved", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07036\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587030, - "SidewaysCard": false, - "CustomDeck": { - "5870": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4120f3", - "Name": "Card", - "Transform": { - "posX": 8.975, - "posY": 3.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lt. Wilson Stewart", - "Description": "Logistical Genius", - "GMNotes": "{\r\n \"id\": \"85032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Agency. Veteran.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 233607, - "SidewaysCard": false, - "CustomDeck": { - "2336": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784129708171655462/0B7EFEEA9A53B93350FEC7F68F39A20D1D6580A9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c3a014", - "Name": "Card", - "Transform": { - "posX": 8.975, - "posY": 3.673, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tommy Malloy", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"60103\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Criminal. Syndicate.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545301, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "88a9b3", - "Name": "Card", - "Transform": { - "posX": 8.975, - "posY": 3.718, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Overzealous", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"03040\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431110, - "SidewaysCard": false, - "CustomDeck": { - "4311": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3e0653", - "Name": "Card", - "Transform": { - "posX": 8.975, - "posY": 3.718, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Think on Your Feet (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51006\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315303, - "SidewaysCard": false, - "CustomDeck": { - "3153": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5115d9", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.759, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Intel Report", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05111\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Favor. Service.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277710, - "SidewaysCard": false, - "CustomDeck": { - "2777": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bb0f6a", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.759, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heroic Rescue", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03106\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226311, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1f8539", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.783, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "David Renfield", - "Description": "Esteemed Eschatologist", - "GMNotes": "{\r\n \"id\": \"03112\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Patron.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230325, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "50fb37", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.783, - "posZ": -16.689, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Take the Initiative", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04150\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced. Bold.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226300, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1bc300", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.815, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trusted", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04019\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Upgrade.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226315, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c45e67", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.815, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Reckless", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"60304\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538602, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f802e3", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.815, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cover Up", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90031\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Clue\",\r\n \"token\": \"clue\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536206, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5f19e0", - "Name": "Card", - "Transform": { - "posX": 8.976, - "posY": 3.894, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sneak Attack (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03152\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315245, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a5c780", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.92, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enraptured", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04157\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230301, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "133521", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.92, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Directive", - "Description": "Due Diligence", - "GMNotes": "{\r\n \"id\": \"90025\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536200, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d5cac6", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.943, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Taunt", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02017\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226308, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ca1b5c", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.943, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Truth Beckons", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07154\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232102, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bbfe9b", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.962, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guidance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03265\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368406, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "447a08", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.962, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Kleptomania", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"06036\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness. Talent.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438126, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d8b64b", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 3.962, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Promise of Power", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07032\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced. Cursed.\",\r\n \"wildIcons\": 4,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584926, - "SidewaysCard": false, - "CustomDeck": { - "5849": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f11a2", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 4.028, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Silas's Net", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07015\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Tool.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582309, - "SidewaysCard": false, - "CustomDeck": { - "5823": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9591ac", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 4.028, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Impromptu Barrier", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04312\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Improvised.\",\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430503, - "SidewaysCard": false, - "CustomDeck": { - "4305": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "91da6b", - "Name": "Card", - "Transform": { - "posX": 8.977, - "posY": 4.028, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Beretta M1918 (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60331\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538629, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cd7b97", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.091, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stand Together (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02148\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226352, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4a2a36", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.091, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Charles Ross, Esq.", - "Description": "Acquisitions and Solicitation", - "GMNotes": "{\r\n \"id\": \"03149\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Patron.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368430, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d9292f", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.1, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Robes of Endless Night", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60412\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Clothing.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538710, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "32e5a4", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.057, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Armageddon (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07226\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579606, - "SidewaysCard": false, - "CustomDeck": { - "5796": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b9bb2a", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.01, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fingerprint Kit", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05024\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430810, - "SidewaysCard": false, - "CustomDeck": { - "4308": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "580a4d", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.01, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Memory", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90019\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Spell.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584101, - "SidewaysCard": false, - "CustomDeck": { - "5841": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038865190/8B0106D5599808B6E00387C2535AC1C3F2330034/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5ab9f4", - "Name": "Card", - "Transform": { - "posX": 8.978, - "posY": 4.01, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Overpower", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01091\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368502, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1a90a4", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 4.06, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lure (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05323\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374420, - "SidewaysCard": false, - "CustomDeck": { - "3744": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "92436b", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 4.06, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Counterpunch (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60122\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545320, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2aeb8a", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 4.057, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burglary (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06200\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Talent. Illicit.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447631, - "SidewaysCard": false, - "CustomDeck": { - "4476": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "22bb1e", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 4.057, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "One-Two Punch", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60117\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545315, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2e5b0", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 4.051, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arrogance", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"60303\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"wildIcons\": 1,\r\n \"negativeIcons\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538601, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2236f6", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 3.992, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Counterspell (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04110\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230346, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "03a4de", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 3.992, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Anna Kaslow (4)", - "Description": "Mysterious Soothsayer", - "GMNotes": "{\r\n \"id\": \"05283\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Ally. Clairvoyant.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 373910, - "SidewaysCard": false, - "CustomDeck": { - "3739": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0b12ac", - "Name": "Card", - "Transform": { - "posX": 8.979, - "posY": 3.992, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets (3)", - "Description": "Seeker", - "GMNotes": "{\r\n \"id\": \"05188\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293214, - "SidewaysCard": false, - "CustomDeck": { - "2932": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e503ce", - "Name": "Card", - "Transform": { - "posX": 8.98, - "posY": 3.964, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pilfer (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60328\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538626, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b176fc", - "Name": "Card", - "Transform": { - "posX": 8.98, - "posY": 3.964, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deep Knowledge", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07023\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581517, - "SidewaysCard": false, - "CustomDeck": { - "5815": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5901b", - "Name": "Card", - "Transform": { - "posX": 8.98, - "posY": 3.945, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spirit of Humanity (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07229\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Ritual. Blessed. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579909, - "SidewaysCard": false, - "CustomDeck": { - "5799": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5fe780", - "Name": "Card", - "Transform": { - "posX": 8.98, - "posY": 3.945, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moxie (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03111\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Talent. Composure.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315235, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "80b7c6", - "Name": "Card", - "Transform": { - "posX": 8.98, - "posY": 3.923, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Graveyard Ghouls", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03017\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Monster. Ghoul.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 373819, - "SidewaysCard": false, - "CustomDeck": { - "3738": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d3dcf1", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.898, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Let God sort them out...\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06160\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Fated.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380027, - "SidewaysCard": false, - "CustomDeck": { - "3800": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1186a1", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.82, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tony's .38 Long Colt", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581705, - "SidewaysCard": false, - "CustomDeck": { - "5817": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a4db3", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.82, - "posZ": -16.69, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ritual Candles", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02029\",\r\n \"alternate_ids\": [\r\n \"60405\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230317, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6a9021", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.839, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Marksmanship (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04104\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226339, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7651f3", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.839, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrounge for Supplies", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06165\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380229, - "SidewaysCard": false, - "CustomDeck": { - "3802": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6bae15", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.804, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jewel of Aureolus (3)", - "Description": "Gift of the Homunculi", - "GMNotes": "{\r\n \"id\": \"02269\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230352, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ab4fb3", - "Name": "Card", - "Transform": { - "posX": 8.981, - "posY": 3.804, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Summoned Hound (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06282\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Summon.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06283\"\r\n }\r\n ],\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527235, - "SidewaysCard": false, - "CustomDeck": { - "5272": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc65fd", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.816, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Telescopic Sight (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05230-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Upgrade.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584512, - "SidewaysCard": false, - "CustomDeck": { - "5845": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3d57b4", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.816, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mists of R'lyeh (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53007\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545206, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2ee50e", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.776, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Decoy", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05234\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Favor. Service.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292914, - "SidewaysCard": false, - "CustomDeck": { - "2929": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2c2d9a", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.776, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bait and Switch", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02034\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368809, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c46da", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.732, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Emergency Aid", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02105\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Science.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226317, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8d6ae6", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.732, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Safeguard", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60110\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545308, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "26a3bf", - "Name": "Card", - "Transform": { - "posX": 8.982, - "posY": 3.685, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stealth (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52005\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440720, - "SidewaysCard": false, - "CustomDeck": { - "4407": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3eef18", - "Name": "Card", - "Transform": { - "posX": 8.983, - "posY": 3.675, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Thrice-Damned Curiosity", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"60203\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538801, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "10b087", - "Name": "CardCustom", - "Transform": { - "posX": 8.983, - "posY": 3.675, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blasphemous Covenant (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07113\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 2,\r\n \"traits\": \"Covenant. Cursed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 546500, - "SidewaysCard": false, - "CustomDeck": { - "5465": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1597044073918730883/0E7FEB9CC85CD11EB5194774E90A73163EDACBEC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "37a2b5", - "Name": "Card", - "Transform": { - "posX": 8.983, - "posY": 3.711, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blackjack (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314105, - "SidewaysCard": false, - "CustomDeck": { - "3141": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b45c82", - "Name": "Card", - "Transform": { - "posX": 8.983, - "posY": 3.711, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Garrote Wire (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06280\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449034, - "SidewaysCard": false, - "CustomDeck": { - "4490": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a33acd", - "Name": "Card", - "Transform": { - "posX": 8.983, - "posY": 3.795, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Open Gate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06029\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444024, - "SidewaysCard": false, - "CustomDeck": { - "4440": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "12bdf1", - "Name": "Card", - "Transform": { - "posX": 8.984, - "posY": 3.752, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shroud of Shadows (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07228\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579808, - "SidewaysCard": false, - "CustomDeck": { - "5798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "65b30d", - "Name": "Card", - "Transform": { - "posX": 8.984, - "posY": 3.752, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Initiate (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03271\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Sorcerer.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Doom\",\r\n \"token\": \"doom\"\r\n },\r\n {\r\n \"count\": 2,\r\n \"type\": \"Horror\",\r\n \"token\": \"horror\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230349, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "523b76", - "Name": "Card", - "Transform": { - "posX": 8.985, - "posY": 3.776, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moment of Respite (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02273\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368525, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "59e40d", - "Name": "Card", - "Transform": { - "posX": 8.985, - "posY": 3.776, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mysterious Raven", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60509\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Creature.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550807, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "80fafa", - "Name": "Card", - "Transform": { - "posX": 8.985, - "posY": 3.797, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leadership (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06235\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447935, - "SidewaysCard": false, - "CustomDeck": { - "4479": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6179d5", - "Name": "Card", - "Transform": { - "posX": 8.985, - "posY": 3.765, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Medico Della Peste", - "Description": "", - "GMNotes": "{\r\n \"id\": \"82024\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Mask.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 295602, - "SidewaysCard": false, - "CustomDeck": { - "2956": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/87094793642329861/9768E9FE9C71E74721340D0D81607F534E54A3DE/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0c859f", - "Name": "Card", - "Transform": { - "posX": 8.986, - "posY": 3.729, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Painkillers", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02117\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368513, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e40802", - "Name": "Card", - "Transform": { - "posX": 8.986, - "posY": 3.729, - "posZ": -16.691, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hallow (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07301\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589100, - "SidewaysCard": false, - "CustomDeck": { - "5891": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "79b4af", - "Name": "Card", - "Transform": { - "posX": 8.986, - "posY": 3.79, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Abandoned and Alone", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01015\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 375129, - "SidewaysCard": false, - "CustomDeck": { - "3751": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "23c3e5", - "Name": "Card", - "Transform": { - "posX": 8.986, - "posY": 3.799, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hyperawareness (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50003\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430644, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "974743", - "Name": "Card", - "Transform": { - "posX": 8.986, - "posY": 3.799, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rite of Sanctification", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07019\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Ritual. Blessed.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 554413, - "SidewaysCard": false, - "CustomDeck": { - "5544": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/RiteofSanctification\")\nend)\n__bundle_register(\"playercards/cards/RiteofSanctification\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Bless\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "13eaf0", - "Name": "Card", - "Transform": { - "posX": 8.987, - "posY": 3.804, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dreams of the Deep", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98015\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"wildIcons\": 2,\r\n \"negativeIcons\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444147, - "SidewaysCard": false, - "CustomDeck": { - "4441": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4167c0", - "Name": "Card", - "Transform": { - "posX": 8.987, - "posY": 3.756, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "True Understanding", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04153\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368403, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "03c6a7", - "Name": "Card", - "Transform": { - "posX": 8.987, - "posY": 3.705, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jim's Trumpet", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02012\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Instrument. Relic.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 372110, - "SidewaysCard": false, - "CustomDeck": { - "3721": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e1e098", - "Name": "Card", - "Transform": { - "posX": 8.988, - "posY": 3.679, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Peter Sylvestre (2)", - "Description": "Big Man on Campus", - "GMNotes": "{\r\n \"id\": \"02035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368852, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9afe23", - "Name": "Card", - "Transform": { - "posX": 8.988, - "posY": 3.673, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strange Solution (4)", - "Description": "Freezing Variant", - "GMNotes": "{\r\n \"id\": \"02264\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Science.\",\r\n \"agilityIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430654, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "55fc3d", - "Name": "Card", - "Transform": { - "posX": 8.988, - "posY": 3.673, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Riot Whistle", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07108\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553100, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "67e006", - "Name": "Card", - "Transform": { - "posX": 8.989, - "posY": 3.715, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Split the Angle", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 381050, - "SidewaysCard": false, - "CustomDeck": { - "3810": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f96ed0", - "Name": "Card", - "Transform": { - "posX": 8.989, - "posY": 3.753, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Powder of Ibn Ghazi", - "Description": "Seeing Things Unseen", - "GMNotes": "{\r\n \"id\": \"02219\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item.\",\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232951, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "406ab2", - "Name": "Card", - "Transform": { - "posX": 8.989, - "posY": 3.753, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Your Worst Nightmare", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"06038\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438128, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "df9809", - "Name": "Card", - "Transform": { - "posX": 8.99, - "posY": 3.789, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Codex of Ages", - "Description": "finis omnium nunc est", - "GMNotes": "{\r\n \"id\": \"04013\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic. Tome. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583136, - "SidewaysCard": false, - "CustomDeck": { - "5831": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/TheCodexofAges\")\nend)\n__bundle_register(\"playercards/cards/TheCodexofAges\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Elder Sign\"] = true\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "320bbe", - "Name": "Card", - "Transform": { - "posX": 8.99, - "posY": 3.821, - "posZ": -16.692, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Written in the Stars", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08034\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379024, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "55001f", - "Name": "Card", - "Transform": { - "posX": 8.991, - "posY": 3.748, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Livre d'Eibon", - "Description": "Hyperborean Grimoire", - "GMNotes": "{\r\n \"id\": \"08005\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379003, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aae31c", - "Name": "Card", - "Transform": { - "posX": 8.992, - "posY": 3.768, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Lucky\" Penny (2)", - "Description": "Omen of Misfortune", - "GMNotes": "{\r\n \"id\": \"07224\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Charm. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579504, - "SidewaysCard": false, - "CustomDeck": { - "5795": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e419b4", - "Name": "Card", - "Transform": { - "posX": 8.992, - "posY": 3.734, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Medical Student", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08083\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378921, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "331b58", - "Name": "Card", - "Transform": { - "posX": 8.993, - "posY": 3.747, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dragon Pole", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08060\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379050, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e9fef2", - "Name": "Card", - "Transform": { - "posX": 8.993, - "posY": 3.747, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Harbinger", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08006\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Omen. Endtimes.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379004, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4e6d80", - "Name": "Card", - "Transform": { - "posX": 8.993, - "posY": 3.757, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strength in Numbers (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08077\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Synergy.\",\r\n \"wildIcons\": 1,\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378906, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "573765", - "Name": "Card", - "Transform": { - "posX": 8.993, - "posY": 3.757, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Michael Leigh (5)", - "Description": "Experienced Hunter", - "GMNotes": "{\r\n \"id\": \"08086\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Seeker\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Ally. Detective.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378924, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5be76d", - "Name": "Card", - "Transform": { - "posX": 8.993, - "posY": 3.757, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blur (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08109\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue|Mystic\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378947, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "658588", - "Name": "Card", - "Transform": { - "posX": 8.993, - "posY": 3.814, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Divination (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08101\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Mystic\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Spell. Augury.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378939, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5779d3", - "Name": "Card", - "Transform": { - "posX": 8.994, - "posY": 3.818, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Butterfly Swords (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08025\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379015, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9df9df", - "Name": "Card", - "Transform": { - "posX": 8.995, - "posY": 3.815, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Henry Wan", - "Description": "Aspiring Actor", - "GMNotes": "{\r\n \"id\": \"05155\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277709, - "SidewaysCard": false, - "CustomDeck": { - "2777": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "242a11", - "Name": "CardCustom", - "Transform": { - "posX": 8.995, - "posY": 3.815, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Liber Omnium Finium", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"98021\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Endtimes.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 273000, - "SidewaysCard": false, - "CustomDeck": { - "2730": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280920105/BBE662BDDC5F2C94A5DE10256B991D1E1DD2C50D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6c3156", - "Name": "Card", - "Transform": { - "posX": 8.995, - "posY": 3.809, - "posZ": -16.693, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crystal Pendulum", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60411\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538709, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9d6e9a", - "Name": "Card", - "Transform": { - "posX": 8.995, - "posY": 3.75, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nautical Prowess", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98014\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Innate. Developed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444348, - "SidewaysCard": false, - "CustomDeck": { - "4443": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0fd4ae", - "Name": "Card", - "Transform": { - "posX": 8.995, - "posY": 3.75, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Protective Incantation (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04031\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Ritual. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230333, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/ProtectiveIncantation1\")\nend)\n__bundle_register(\"playercards/cards/ProtectiveIncantation1\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {}\r\n\r\nINVALID_TOKENS = {\r\n [\"Auto-fail\"] = true\r\n}\r\n\r\nUPDATE_ON_HOVER = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f1166", - "Name": "Card", - "Transform": { - "posX": 8.996, - "posY": 3.685, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Universal Solvent", - "Description": "", - "GMNotes": "{\r\n \"id\": \"85029\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Science.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 233604, - "SidewaysCard": false, - "CustomDeck": { - "2336": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784129708171655462/0B7EFEEA9A53B93350FEC7F68F39A20D1D6580A9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1339b0", - "Name": "Card", - "Transform": { - "posX": 8.997, - "posY": 3.675, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mr. \"Rook\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05153\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277811, - "SidewaysCard": false, - "CustomDeck": { - "2778": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0edef1", - "Name": "Card", - "Transform": { - "posX": 8.997, - "posY": 3.711, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Chance Encounter (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03238\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368844, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f93ea8", - "Name": "Card", - "Transform": { - "posX": 8.997, - "posY": 3.711, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Voice of the Messenger", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04016\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse. Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 376501, - "SidewaysCard": false, - "CustomDeck": { - "3765": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "57e648", - "Name": "Card", - "Transform": { - "posX": 8.998, - "posY": 3.744, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Narcolepsy", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"06037\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438127, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1e9213", - "Name": "Card", - "Transform": { - "posX": 8.998, - "posY": 3.744, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Storm of Spirits (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52008\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444021, - "SidewaysCard": false, - "CustomDeck": { - "4440": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6771f", - "Name": "Card", - "Transform": { - "posX": 8.998, - "posY": 3.776, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fieldwork", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03024\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368429, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "854c79", - "Name": "Card", - "Transform": { - "posX": 8.998, - "posY": 3.776, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Whitton Greene (2)", - "Description": "Hunter of Rare Books", - "GMNotes": "{\r\n \"id\": \"60223\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538821, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0feb74", - "Name": "Card", - "Transform": { - "posX": 8.999, - "posY": 3.806, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky Cigarette Case (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60326\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538624, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "542a70", - "Name": "Card", - "Transform": { - "posX": 8.999, - "posY": 3.832, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Favor of the Moon (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07271\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Pact. Cursed.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449610, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/FavoroftheMoon1\")\nend)\n__bundle_register(\"playercards/cards/FavoroftheMoon1\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Curse\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc709b", - "Name": "Card", - "Transform": { - "posX": 9.0, - "posY": 3.805, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blood Pact", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07158\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Pact.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232106, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "814ce2", - "Name": "Card", - "Transform": { - "posX": 9.0, - "posY": 3.805, - "posZ": -16.694, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eidetic Memory (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03306\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430650, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "14dcc4", - "Name": "Card", - "Transform": { - "posX": 9.0, - "posY": 3.824, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dynamite Blast (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60129\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545327, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7e2896", - "Name": "Card", - "Transform": { - "posX": 9.001, - "posY": 3.791, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Elina Harper", - "Description": "Knows Too Much", - "GMNotes": "{\r\n \"id\": \"07083\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Agency. Detective.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 369816, - "SidewaysCard": false, - "CustomDeck": { - "3698": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663476/95B0BD966B579DEE644A25703730C8729B16AAF8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "edd34a", - "Name": "Card", - "Transform": { - "posX": 9.001, - "posY": 3.791, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quantum Flux", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03196\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230307, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3aa40e", - "Name": "Card", - "Transform": { - "posX": 9.001, - "posY": 3.791, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Future", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"60403\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Omen. Endtimes.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538701, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a57f19", - "Name": "Card", - "Transform": { - "posX": 9.001, - "posY": 3.855, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Meat Cleaver", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05114\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277912, - "SidewaysCard": false, - "CustomDeck": { - "2779": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0dc75e", - "Name": "Card", - "Transform": { - "posX": 9.001, - "posY": 3.855, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Keen Eye", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07152\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232100, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a3bc7a", - "Name": "Card", - "Transform": { - "posX": 9.002, - "posY": 3.865, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Atychiphobia", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"60504\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550802, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a33470", - "Name": "Card", - "Transform": { - "posX": 9.002, - "posY": 3.865, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spirit-Speaker", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03014\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 375016, - "SidewaysCard": false, - "CustomDeck": { - "3750": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f8a977", - "Name": "Card", - "Transform": { - "posX": 9.002, - "posY": 3.872, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".18 Derringer (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60522\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550820, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "367aac", - "Name": "Card", - "Transform": { - "posX": 9.002, - "posY": 3.872, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crisis of Identity", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03019\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374935, - "SidewaysCard": false, - "CustomDeck": { - "3749": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "782e0a", - "Name": "CardCustom", - "Transform": { - "posX": 9.003, - "posY": 3.926, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ruth Westmacott", - "Description": "Dark Revelations", - "GMNotes": "{\r\n \"id\": \"98020\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Artist.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 273100, - "SidewaysCard": false, - "CustomDeck": { - "2731": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280920329/24678C1EA9F75CE15164134ACF04BD5642D9F434/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "78adda", - "Name": "Card", - "Transform": { - "posX": 9.003, - "posY": 3.926, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hyperawareness (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07264\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449603, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "706176", - "Name": "Card", - "Transform": { - "posX": 9.003, - "posY": 3.926, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Directive", - "Description": "Red Tape", - "GMNotes": "{\r\n \"id\": \"90026\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536201, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "230835", - "Name": "Card", - "Transform": { - "posX": 9.003, - "posY": 3.926, - "posZ": -16.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05116\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277604, - "SidewaysCard": false, - "CustomDeck": { - "2776": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5659d1", - "Name": "Card", - "Transform": { - "posX": 9.004, - "posY": 3.924, - "posZ": -16.695, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nephthys (4)", - "Description": "Huntress of Bast", - "GMNotes": "{\r\n \"id\": \"07262\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Ally. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449601, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/Nephthys4\")\nend)\n__bundle_register(\"playercards/cards/Nephthys4\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Bless\"] = true\r\n}\r\n\r\nSHOW_MULTI_RELEASE = 3\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ec38db", - "Name": "Card", - "Transform": { - "posX": 9.004, - "posY": 3.868, - "posZ": -16.695, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Warning Shot", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05229\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Trick.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292814, - "SidewaysCard": false, - "CustomDeck": { - "2928": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b80459", - "Name": "Card", - "Transform": { - "posX": 9.004, - "posY": 3.868, - "posZ": -16.695, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Home Front", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03007\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Practiced. Expert.\",\r\n \"combatIcons\": 4,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374330, - "SidewaysCard": false, - "CustomDeck": { - "3743": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d87128", - "Name": "Card", - "Transform": { - "posX": 9.005, - "posY": 3.859, - "posZ": -16.695, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jenny's Twin .45s", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02010\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"agilityIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371308, - "SidewaysCard": false, - "CustomDeck": { - "3713": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2ea0d0", - "Name": "Card", - "Transform": { - "posX": 9.005, - "posY": 3.859, - "posZ": -16.695, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Token of Faith", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07033\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587627, - "SidewaysCard": false, - "CustomDeck": { - "5876": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5558f1", - "Name": "Card", - "Transform": { - "posX": 9.005, - "posY": 3.847, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mists of R'lyeh", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04029\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230326, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d4fd4a", - "Name": "Card", - "Transform": { - "posX": 9.005, - "posY": 3.847, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shortcut", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02022\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368405, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d253a6", - "Name": "Card", - "Transform": { - "posX": 9.006, - "posY": 3.832, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Randolph Carter", - "Description": "Chained to the Waking World", - "GMNotes": "{\r\n \"id\": \"06079\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Dreamer.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452504, - "SidewaysCard": false, - "CustomDeck": { - "4525": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493383646802545/EF89145CA7EEC1746A59CCBDDEE52526997C5DED/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "53f076", - "Name": "Card", - "Transform": { - "posX": 9.006, - "posY": 3.832, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Soothing Melody", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05314\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378621, - "SidewaysCard": false, - "CustomDeck": { - "3786": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "96ba38", - "Name": "Card", - "Transform": { - "posX": 9.006, - "posY": 3.814, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Necronomicon (5)", - "Description": "Petrus de Dacia Translation", - "GMNotes": "{\r\n \"id\": \"60233\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 5,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538831, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3bbc0b", - "Name": "Card", - "Transform": { - "posX": 9.007, - "posY": 3.743, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quick Learner (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60530\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 4,\r\n \"traits\": \"Condition.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550828, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ef91a9", - "Name": "Card", - "Transform": { - "posX": 9.007, - "posY": 3.743, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Accursed Follower", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"07038\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Cultist. Cursed.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583332, - "SidewaysCard": false, - "CustomDeck": { - "5833": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "05d263", - "Name": "Card", - "Transform": { - "posX": 9.007, - "posY": 3.768, - "posZ": -16.696, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sign Magick", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05112\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ritual. Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277510, - "SidewaysCard": false, - "CustomDeck": { - "2775": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9a5782", - "Name": "Card", - "Transform": { - "posX": 9.008, - "posY": 3.687, - "posZ": -16.696, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eye of Chaos", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07118\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 5,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553110, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bf151d", - "Name": "Card", - "Transform": { - "posX": 9.008, - "posY": 3.687, - "posZ": -16.696, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heirloom of Hyperborea", - "Description": "Artifact from Another Life (Advanced)", - "GMNotes": "{\r\n \"id\": \"90018\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585400, - "SidewaysCard": false, - "CustomDeck": { - "5854": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038865190/8B0106D5599808B6E00387C2535AC1C3F2330034/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45386d", - "Name": "Card", - "Transform": { - "posX": 9.008, - "posY": 3.684, - "posZ": -16.696, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unrelenting (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07196\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558007, - "SidewaysCard": false, - "CustomDeck": { - "5580": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/Unrelenting1\")\nend)\n__bundle_register(\"playercards/cards/Unrelenting1\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {}\r\nINVALID_TOKENS = {\r\n [\"Auto-fail\"] = true\r\n}\r\n\r\nUPDATE_ON_HOVER = true\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e4e11", - "Name": "Card", - "Transform": { - "posX": 9.009, - "posY": 3.674, - "posZ": -16.696, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alter Fate (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53009\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545208, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c9196", - "Name": "Card", - "Transform": { - "posX": 9.01, - "posY": 3.673, - "posZ": -16.696, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bauta", - "Description": "", - "GMNotes": "{\r\n \"id\": \"82023\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Mask.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 295601, - "SidewaysCard": false, - "CustomDeck": { - "2956": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/87094793642329861/9768E9FE9C71E74721340D0D81607F534E54A3DE/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2e33f7", - "Name": "Card", - "Transform": { - "posX": 9.01, - "posY": 3.673, - "posZ": -16.696, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Curse of the Rougarou", - "Description": "Curse.", - "GMNotes": "{\r\n \"id\": \"81029\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 8901, - "SidewaysCard": false, - "CustomDeck": { - "89": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/138879070086634183/2856A2C2077CFA2C61B9EF2498CAE6865024DB72/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3f3488", - "Name": "Card", - "Transform": { - "posX": 9.01, - "posY": 3.717, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Chance Encounter", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02270\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368812, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e674e8", - "Name": "Card", - "Transform": { - "posX": 9.011, - "posY": 3.759, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fortune or Fate (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05237\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Fortune. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293015, - "SidewaysCard": false, - "CustomDeck": { - "2930": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d2e026", - "Name": "Card", - "Transform": { - "posX": 9.011, - "posY": 3.759, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Vicious Blow (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02299\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226341, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "416f12", - "Name": "Card", - "Transform": { - "posX": 9.011, - "posY": 3.759, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptic Grimoire (4)", - "Description": "Text of the Elder Guardian", - "GMNotes": "{\r\n \"id\": \"07192\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Tome. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584203, - "SidewaysCard": false, - "CustomDeck": { - "5842": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a8e495", - "Name": "Card", - "Transform": { - "posX": 9.011, - "posY": 3.847, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Anatomical Diagrams", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03108\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368409, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aec357", - "Name": "Card", - "Transform": { - "posX": 9.011, - "posY": 3.847, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guardian of the Crystallizer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06025\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440723, - "SidewaysCard": false, - "CustomDeck": { - "4407": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e470cd", - "Name": "Card", - "Transform": { - "posX": 9.012, - "posY": 3.883, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Premonition", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04199\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Augury.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 276300, - "SidewaysCard": false, - "CustomDeck": { - "2763": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5ec1a2", - "Name": "Card", - "Transform": { - "posX": 9.012, - "posY": 3.883, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dario El-Amin", - "Description": "Unscrupulous Investor", - "GMNotes": "{\r\n \"id\": \"03151\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Patron.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368630, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "db90e2", - "Name": "Card", - "Transform": { - "posX": 9.013, - "posY": 3.915, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ethereal Form", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06164\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380128, - "SidewaysCard": false, - "CustomDeck": { - "3801": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b81dcf", - "Name": "Card", - "Transform": { - "posX": 9.013, - "posY": 3.915, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream Diary", - "Description": "Untranslated", - "GMNotes": "{\r\n \"id\": \"06112\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome. Charm.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06113\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379928, - "SidewaysCard": false, - "CustomDeck": { - "3799": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d7dbac", - "Name": "Card", - "Transform": { - "posX": 9.013, - "posY": 3.943, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Streetwise (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02189\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315251, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3dc82f", - "Name": "Card", - "Transform": { - "posX": 9.013, - "posY": 3.943, - "posZ": -16.697, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Try and Try Again (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04159\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Try\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314802, - "SidewaysCard": false, - "CustomDeck": { - "3148": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "58f534", - "Name": "Card", - "Transform": { - "posX": 9.014, - "posY": 3.991, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Smite the Wicked", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02007\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582827, - "SidewaysCard": false, - "CustomDeck": { - "5828": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "96a440", - "Name": "Card", - "Transform": { - "posX": 9.014, - "posY": 3.991, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gravedigger's Shovel (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52010\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tool. Weapon. Melee.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440622, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "39452d", - "Name": "Card", - "Transform": { - "posX": 9.015, - "posY": 4.01, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fine Print", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"53014\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545213, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0988b2", - "Name": "Card", - "Transform": { - "posX": 9.015, - "posY": 4.01, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Voice of Ra", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60416\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538714, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "33455f", - "Name": "Card", - "Transform": { - "posX": 9.015, - "posY": 4.01, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchant Weapon (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07261\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell. Upgrade.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449600, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f4db2", - "Name": "Card", - "Transform": { - "posX": 9.016, - "posY": 4.126, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pickpocketing (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03195\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Talent. Illicit.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315246, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f5f0f", - "Name": "Card", - "Transform": { - "posX": 9.016, - "posY": 4.089, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sawed-Off Shotgun (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06327\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449037, - "SidewaysCard": false, - "CustomDeck": { - "4490": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b3ce16", - "Name": "Card", - "Transform": { - "posX": 9.017, - "posY": 4.048, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shrivelling (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02154\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230355, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2c901b", - "Name": "Card", - "Transform": { - "posX": 9.017, - "posY": 4.048, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Final Rhapsody", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02013\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Endtimes.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 372011, - "SidewaysCard": false, - "CustomDeck": { - "3720": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d74f6", - "Name": "Card", - "Transform": { - "posX": 9.017, - "posY": 4.055, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ward of Protection (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03270\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230341, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f14dce", - "Name": "Card", - "Transform": { - "posX": 9.017, - "posY": 4.055, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Earl Sawyer", - "Description": "Smarter Than He Lets On", - "GMNotes": "{\r\n \"id\": \"02218\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Dunwich.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232950, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d287bc", - "Name": "Card", - "Transform": { - "posX": 9.018, - "posY": 4.058, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Celaeno Fragments", - "Description": "Book of Books", - "GMNotes": "{\r\n \"id\": \"60206\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538804, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4a45c6", - "Name": "Card", - "Transform": { - "posX": 9.019, - "posY": 4.008, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Slip Away (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60324\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538622, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "819f52", - "Name": "Card", - "Transform": { - "posX": 9.019, - "posY": 4.008, - "posZ": -16.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Poisoned", - "Description": "Poision.", - "GMNotes": "{\r\n \"id\": \"04102\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Poison.\",\r\n \"permanent\": true,\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 235644, - "SidewaysCard": false, - "CustomDeck": { - "2356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777497046/3003A76996378249E6AAA4A60D85AE7EE59C1B8B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0bea17", - "Name": "Card", - "Transform": { - "posX": 9.019, - "posY": 4.005, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Act of Desperation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05037\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Gambit.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 274607, - "SidewaysCard": false, - "CustomDeck": { - "2746": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ec7702", - "Name": "Card", - "Transform": { - "posX": 9.019, - "posY": 4.005, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Predestined", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07035\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Blessed.\",\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586029, - "SidewaysCard": false, - "CustomDeck": { - "5860": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cdd6aa", - "Name": "Card", - "Transform": { - "posX": 9.019, - "posY": 4.005, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hired Muscle (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02027\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315234, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1934c6", - "Name": "Card", - "Transform": { - "posX": 9.02, - "posY": 4.049, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shrine of the Moirai (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07310\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Fortune. Blessed. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Offering\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589909, - "SidewaysCard": false, - "CustomDeck": { - "5899": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1d75d0", - "Name": "Card", - "Transform": { - "posX": 9.02, - "posY": 4.049, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grimm's Fairy Tales", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60506\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550804, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f59085", - "Name": "Card", - "Transform": { - "posX": 9.02, - "posY": 4.039, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Backpack", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04037\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368517, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc4168", - "Name": "Card", - "Transform": { - "posX": 9.02, - "posY": 4.039, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nihilism", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"60404\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538702, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "90bf93", - "Name": "Card", - "Transform": { - "posX": 9.021, - "posY": 4.027, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gregory Gry", - "Description": "Muckraker", - "GMNotes": "{\r\n \"id\": \"06162\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Criminal. Dreamer.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 9,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380029, - "SidewaysCard": false, - "CustomDeck": { - "3800": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "308967", - "Name": "Card", - "Transform": { - "posX": 9.022, - "posY": 4.011, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quick Thinking (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02229-t\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450616, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6085d", - "Name": "Card", - "Transform": { - "posX": 9.022, - "posY": 4.011, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Eye of Truth (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06325\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 5,\r\n \"traits\": \"Spell. Practiced.\",\r\n \"wildIcons\": 4,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448840, - "SidewaysCard": false, - "CustomDeck": { - "4488": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1433eb", - "Name": "Card", - "Transform": { - "posX": 9.022, - "posY": 3.992, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grisly Totem (3)", - "Description": "Seeker", - "GMNotes": "{\r\n \"id\": \"05194\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Charm. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293217, - "SidewaysCard": false, - "CustomDeck": { - "2932": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "26922c", - "Name": "Card", - "Transform": { - "posX": 9.022, - "posY": 3.992, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spiritual Resolve (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06323\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448938, - "SidewaysCard": false, - "CustomDeck": { - "4489": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45cd73", - "Name": "Card", - "Transform": { - "posX": 9.023, - "posY": 3.97, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Truth from Fiction (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53003\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 3,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545202, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3dc25c", - "Name": "Card", - "Transform": { - "posX": 9.023, - "posY": 3.97, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Extensive Research (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06198\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 10,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447833, - "SidewaysCard": false, - "CustomDeck": { - "4478": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c0d236", - "Name": "Card", - "Transform": { - "posX": 9.023, - "posY": 3.945, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Empty Vessel (4)", - "Description": "Abandoned by the Gods", - "GMNotes": "{\r\n \"id\": \"06276\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic. Blessed.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06277\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448936, - "SidewaysCard": false, - "CustomDeck": { - "4489": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2423e7", - "Name": "Card", - "Transform": { - "posX": 9.023, - "posY": 3.945, - "posZ": -16.699, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fence (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04108\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Connection. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315238, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "75eca5", - "Name": "Card", - "Transform": { - "posX": 9.024, - "posY": 3.916, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Read the Signs", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06117\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380126, - "SidewaysCard": false, - "CustomDeck": { - "3801": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5606b3", - "Name": "Card", - "Transform": { - "posX": 9.024, - "posY": 3.916, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Manipulate Destiny (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07162\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232110, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4fbdb2", - "Name": "Card", - "Transform": { - "posX": 9.025, - "posY": 3.885, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arbiter of Fates", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60402\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538700, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7686cb", - "Name": "Card", - "Transform": { - "posX": 9.025, - "posY": 3.85, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Astounding Revelation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06023\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Research.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 441025, - "SidewaysCard": false, - "CustomDeck": { - "4410": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "53867b", - "Name": "Card", - "Transform": { - "posX": 9.025, - "posY": 3.85, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alyssa Graham", - "Description": "Speaker to the Dead", - "GMNotes": "{\r\n \"id\": \"02232\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Sorcerer.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230330, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d4dbc7", - "Name": "Card", - "Transform": { - "posX": 9.025, - "posY": 3.85, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".45 Thompson (3)", - "Description": "Rogue", - "GMNotes": "{\r\n \"id\": \"05187\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 5,\r\n \"level\": 3,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292915, - "SidewaysCard": false, - "CustomDeck": { - "2929": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a775ad", - "Name": "Card", - "Transform": { - "posX": 9.026, - "posY": 3.862, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Chthonian Stone (3)", - "Description": "Stygian Waymark", - "GMNotes": "{\r\n \"id\": \"53008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545207, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/TheChthonianStone3\")\nend)\n__bundle_register(\"playercards/cards/TheChthonianStone3\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c4900", - "Name": "CardCustom", - "Transform": { - "posX": 9.026, - "posY": 3.771, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Lam", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90009\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 541200, - "SidewaysCard": false, - "CustomDeck": { - "5412": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830597915335413/F6B6100F5713A33245CFBB6F1D7316AA2DD0F760/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "121b2d", - "Name": "Card", - "Transform": { - "posX": 9.027, - "posY": 3.692, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dendromorphosis", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"53012\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse. Flora.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545211, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a13ca4", - "Name": "Card", - "Transform": { - "posX": 9.027, - "posY": 3.692, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Hunt", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03263\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226314, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "96c9be", - "Name": "Card", - "Transform": { - "posX": 9.028, - "posY": 3.686, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daisy's Tote Bag", - "Description": "Signature", - "GMNotes": "{\r\n \"id\": \"01008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581821, - "SidewaysCard": false, - "CustomDeck": { - "5818": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "17d34b", - "Name": "Card", - "Transform": { - "posX": 9.028, - "posY": 3.681, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Faustian Bargain", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07028\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Pact. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586622, - "SidewaysCard": false, - "CustomDeck": { - "5866": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "90a106", - "Name": "Card", - "Transform": { - "posX": 9.028, - "posY": 3.681, - "posZ": -16.7, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spirit Athame (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230335, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f03306", - "Name": "Card", - "Transform": { - "posX": 9.029, - "posY": 3.682, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Francis Morgan", - "Description": "Professor of Archaeology", - "GMNotes": "{\r\n \"id\": \"02080\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232907, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a49751", - "Name": "Card", - "Transform": { - "posX": 9.03, - "posY": 3.688, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Monstrous Transformation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"81030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Talent.\",\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 296804, - "SidewaysCard": false, - "CustomDeck": { - "2968": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/138879070086634183/2856A2C2077CFA2C61B9EF2498CAE6865024DB72/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "35166c", - "Name": "Card", - "Transform": { - "posX": 9.03, - "posY": 3.688, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Book of Shadows (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03154\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230336, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ab51ce", - "Name": "Card", - "Transform": { - "posX": 9.03, - "posY": 3.686, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Physical Training (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60131\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545329, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ecbea8", - "Name": "Card", - "Transform": { - "posX": 9.031, - "posY": 3.681, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pathfinder (1) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02108-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450602, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8a4673", - "Name": "Card", - "Transform": { - "posX": 9.031, - "posY": 3.681, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fire Extinguisher (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02114\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Tool. Melee.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368838, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "017821", - "Name": "Card", - "Transform": { - "posX": 9.032, - "posY": 3.684, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flare (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02115\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Tactic.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368839, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "060943", - "Name": "Card", - "Transform": { - "posX": 9.032, - "posY": 3.674, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sixth Sense (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05322\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379618, - "SidewaysCard": false, - "CustomDeck": { - "3796": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b65011", - "Name": "Card", - "Transform": { - "posX": 9.032, - "posY": 3.674, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Investments", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05233\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Connection.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292913, - "SidewaysCard": false, - "CustomDeck": { - "2929": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9509e3", - "Name": "Card", - "Transform": { - "posX": 9.033, - "posY": 3.712, - "posZ": -16.701, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchanted Armor (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07189\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Ritual. Armor.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588800, - "SidewaysCard": false, - "CustomDeck": { - "5888": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "22fc6c", - "Name": "Card", - "Transform": { - "posX": 9.035, - "posY": 3.777, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Butterfly Effect (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07160\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Paradox. Blessed. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232108, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "59b24f", - "Name": "Card", - "Transform": { - "posX": 9.035, - "posY": 3.777, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Defiance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02190\",\r\n \"alternate_ids\": [\r\n \"60418\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230302, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9b1c5b", - "Name": "Card", - "Transform": { - "posX": 9.035, - "posY": 3.855, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mind over Matter (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60226\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538824, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4e2d75", - "Name": "Card", - "Transform": { - "posX": 9.035, - "posY": 3.855, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mariner's Compass", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07121\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553113, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d64b8f", - "Name": "Card", - "Transform": { - "posX": 9.036, - "posY": 3.929, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Out of Body Experience", - "Description": "Madness. Paradox.", - "GMNotes": "{\r\n \"id\": \"04264\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness. Paradox.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 235822, - "SidewaysCard": false, - "CustomDeck": { - "2358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777501236/D145C8B748FB42258EB442B9DF36797851CEECC3/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f1b0f9", - "Name": "Card", - "Transform": { - "posX": 9.036, - "posY": 3.929, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Try and Try Again (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02309\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368857, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "93381d", - "Name": "Card", - "Transform": { - "posX": 9.037, - "posY": 3.95, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heroic Rescue (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06234\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447934, - "SidewaysCard": false, - "CustomDeck": { - "4479": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5ec6d0", - "Name": "Card", - "Transform": { - "posX": 9.037, - "posY": 3.95, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Obfuscation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07027\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587421, - "SidewaysCard": false, - "CustomDeck": { - "5874": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "256da2", - "Name": "Card", - "Transform": { - "posX": 9.038, - "posY": 3.968, - "posZ": -16.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eavesdrop", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04027\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368711, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98fc57", - "Name": "Card", - "Transform": { - "posX": 9.038, - "posY": 3.933, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grounded (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03113\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Talent. Composure.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230332, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8380d", - "Name": "Card", - "Transform": { - "posX": 9.039, - "posY": 3.945, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jessica Hyde (1)", - "Description": "Wrong Place, Wrong Time", - "GMNotes": "{\r\n \"id\": \"06118\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Wayfarer. Cursed.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Damage\",\r\n \"token\": \"damage\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380228, - "SidewaysCard": false, - "CustomDeck": { - "3802": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c803ba", - "Name": "Card", - "Transform": { - "posX": 9.04, - "posY": 3.904, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Infighting (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03314\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368854, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "587589", - "Name": "Card", - "Transform": { - "posX": 9.04, - "posY": 3.904, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Becky", - "Description": "Custom Marlin Model 1894", - "GMNotes": "{\r\n \"id\": \"06006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581200, - "SidewaysCard": false, - "CustomDeck": { - "5812": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "30f90b", - "Name": "Card", - "Transform": { - "posX": 9.041, - "posY": 3.909, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Improvised Weapon", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04033\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Improvised.\",\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368811, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cdbb37", - "Name": "Card", - "Transform": { - "posX": 9.041, - "posY": 3.909, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Easy Mark (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06026\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440724, - "SidewaysCard": false, - "CustomDeck": { - "4407": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a53344", - "Name": "Card", - "Transform": { - "posX": 9.041, - "posY": 3.912, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clarity of Mind (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 313603, - "SidewaysCard": false, - "CustomDeck": { - "3136": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf4571", - "Name": "Card", - "Transform": { - "posX": 9.041, - "posY": 3.912, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blessed Blade", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07018\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee. Blessed.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581612, - "SidewaysCard": false, - "CustomDeck": { - "5816": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a614de", - "Name": "Card", - "Transform": { - "posX": 9.042, - "posY": 3.911, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Feed the Mind", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60209\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538807, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d9b32", - "Name": "Card", - "Transform": { - "posX": 9.042, - "posY": 3.911, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bounty Contracts", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06010\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"startsInPlay\": true,\r\n \"traits\": \"Job.\",\r\n \"permanent\": true,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Bounty\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582204, - "SidewaysCard": false, - "CustomDeck": { - "5822": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a5087b", - "Name": "Card", - "Transform": { - "posX": 9.043, - "posY": 3.907, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".25 Automatic", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07025\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587219, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48e103", - "Name": "Card", - "Transform": { - "posX": 9.043, - "posY": 3.907, - "posZ": -16.703, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Baseball Bat", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01074\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368830, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f7a9ab", - "Name": "Card", - "Transform": { - "posX": 9.043, - "posY": 3.9, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Armor of Ardennes (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03305\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Armor. Relic.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226360, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "db2c81", - "Name": "Card", - "Transform": { - "posX": 9.043, - "posY": 3.9, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Telescopic Sight (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05230\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Upgrade.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292816, - "SidewaysCard": false, - "CustomDeck": { - "2928": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "de40c8", - "Name": "Card", - "Transform": { - "posX": 9.044, - "posY": 3.889, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Copycat (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60330\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 3,\r\n \"traits\": \"Gambit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538628, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6e4d54", - "Name": "Card", - "Transform": { - "posX": 9.044, - "posY": 3.889, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Glimpse the Unthinkable (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60221\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538819, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6d9881", - "Name": "Card", - "Transform": { - "posX": 9.044, - "posY": 3.889, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Drawing Thin", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05159\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277910, - "SidewaysCard": false, - "CustomDeck": { - "2779": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb943f", - "Name": "Card", - "Transform": { - "posX": 9.045, - "posY": 3.926, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Across Space and Time", - "Description": "Madness.", - "GMNotes": "{\r\n \"id\": \"02178\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232941, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f21109", - "Name": "Card", - "Transform": { - "posX": 9.045, - "posY": 3.926, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Glimmer of Hope", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06245\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Blessed. Fortune.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447733, - "SidewaysCard": false, - "CustomDeck": { - "4477": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1c7a00", - "Name": "Card", - "Transform": { - "posX": 9.046, - "posY": 3.909, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rational Thought", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05008\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379154, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "00af4f", - "Name": "Card", - "Transform": { - "posX": 9.046, - "posY": 3.909, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fight or Flight", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03155\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368813, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e21200", - "Name": "Card", - "Transform": { - "posX": 9.046, - "posY": 3.889, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clairvoyance (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60431\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538729, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e628de", - "Name": "Card", - "Transform": { - "posX": 9.046, - "posY": 3.889, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Called by the Mists", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"60503\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550801, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d6728", - "Name": "Card", - "Transform": { - "posX": 9.047, - "posY": 3.866, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Occult Lexicon", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05316\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome. Occult.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 3,\r\n \"id\": \"05317\"\r\n }\r\n ],\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 592120, - "SidewaysCard": false, - "CustomDeck": { - "5921": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7f7ecc", - "Name": "Card", - "Transform": { - "posX": 9.047, - "posY": 3.866, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Naomi O'Bannion", - "Description": "Ruthless Tactician", - "GMNotes": "{\r\n \"id\": \"51052\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 5,\r\n \"traits\": \"Ally. Criminal. Syndicate.\",\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 233135, - "SidewaysCard": false, - "CustomDeck": { - "2331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241296009359/3EF850792428E467A4475333CCBBF6E6B5975186/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "415ca2", - "Name": "Card", - "Transform": { - "posX": 9.048, - "posY": 3.89, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Get over here!\" (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60123\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545321, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ad0ef0", - "Name": "Card", - "Transform": { - "posX": 9.048, - "posY": 3.89, - "posZ": -16.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lonnie Ritter", - "Description": "Feisty Mechanic", - "GMNotes": "{\r\n \"id\": \"60309\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538607, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ce1b89", - "Name": "Card", - "Transform": { - "posX": 9.049, - "posY": 3.86, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "High Roller (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04156\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315247, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c70ad8", - "Name": "Card", - "Transform": { - "posX": 9.049, - "posY": 3.86, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Interrogate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05020\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Insight.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431008, - "SidewaysCard": false, - "CustomDeck": { - "4310": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0d006f", - "Name": "Card", - "Transform": { - "posX": 9.049, - "posY": 3.828, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moonstone", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06203\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Dreamlands.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447731, - "SidewaysCard": false, - "CustomDeck": { - "4477": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "70772b", - "Name": "Card", - "Transform": { - "posX": 9.049, - "posY": 3.828, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Oops! (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51009\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314905, - "SidewaysCard": false, - "CustomDeck": { - "3149": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3199f2", - "Name": "Card", - "Transform": { - "posX": 9.05, - "posY": 3.792, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Curse of Aeons (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07195\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Ritual. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580106, - "SidewaysCard": false, - "CustomDeck": { - "5801": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c8505c", - "Name": "Card", - "Transform": { - "posX": 9.051, - "posY": 3.753, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrapper", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60511\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550809, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1fe462", - "Name": "Card", - "Transform": { - "posX": 9.051, - "posY": 3.753, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Last Chance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04036\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Gambit.\",\r\n \"wildIcons\": 5,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368804, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c54d7e", - "Name": "Card", - "Transform": { - "posX": 9.051, - "posY": 3.761, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dread Curse", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"07039\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583433, - "SidewaysCard": false, - "CustomDeck": { - "5834": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f69e10", - "Name": "Card", - "Transform": { - "posX": 9.052, - "posY": 3.716, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Seeking Answers", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02023\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368407, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "54832d", - "Name": "Card", - "Transform": { - "posX": 9.052, - "posY": 3.716, - "posZ": -16.705, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alchemical Transmutation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230320, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "78858f", - "Name": "Card", - "Transform": { - "posX": 9.054, - "posY": 3.676, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hallowed Mirror (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Occult. Blessed.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 3,\r\n \"id\": \"05314\"\r\n }\r\n ],\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449522, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "016b72", - "Name": "Card", - "Transform": { - "posX": 9.054, - "posY": 3.676, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The King in Yellow", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Tome.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374633, - "SidewaysCard": false, - "CustomDeck": { - "3746": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0bb3da", - "Name": "Card", - "Transform": { - "posX": 9.055, - "posY": 3.757, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "First Watch", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06110\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379828, - "SidewaysCard": false, - "CustomDeck": { - "3798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "870bdc", - "Name": "Card", - "Transform": { - "posX": 9.055, - "posY": 3.737, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptic Writings (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60224\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538822, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9be144", - "Name": "Card", - "Transform": { - "posX": 9.055, - "posY": 3.737, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shadow Agents", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"07011\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Cultist.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586405, - "SidewaysCard": false, - "CustomDeck": { - "5864": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf41be", - "Name": "CardCustom", - "Transform": { - "posX": 9.056, - "posY": 3.763, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daisy's Tote Bag", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 231600, - "SidewaysCard": false, - "CustomDeck": { - "2316": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1017195287736529784/BEB850DCAA5497CC1A96E1603C0D3AFFE8B0F2BB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dbb0e0", - "Name": "Card", - "Transform": { - "posX": 9.056, - "posY": 3.763, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Encyclopedia", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60208\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538806, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a3f105", - "Name": "Card", - "Transform": { - "posX": 9.057, - "posY": 3.787, - "posZ": -16.706, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Something Worth Fighting For", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05109\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 278011, - "SidewaysCard": false, - "CustomDeck": { - "2780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d1d7fa", - "Name": "Card", - "Transform": { - "posX": 9.058, - "posY": 3.808, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Not without a fight!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03272\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368803, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e0dff3", - "Name": "Card", - "Transform": { - "posX": 9.058, - "posY": 3.808, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dodge", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01023\",\r\n \"alternate_ids\": [\r\n \"60113\",\r\n \"01523\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226313, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "22d886", - "Name": "Card", - "Transform": { - "posX": 9.059, - "posY": 3.876, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unsolved Case", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05010\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Insight. Mystery.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431656, - "SidewaysCard": false, - "CustomDeck": { - "4316": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "692ced", - "Name": "Card", - "Transform": { - "posX": 9.06, - "posY": 3.84, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Molly Maxwell", - "Description": "The Exotic Morgana", - "GMNotes": "{\r\n \"id\": \"98017\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Assistant.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 466112, - "SidewaysCard": false, - "CustomDeck": { - "4661": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f91fd9", - "Name": "Card", - "Transform": { - "posX": 9.06, - "posY": 3.84, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mitch Brown", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 377042, - "SidewaysCard": false, - "CustomDeck": { - "3770": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c1ce8e", - "Name": "Card", - "Transform": { - "posX": 9.06, - "posY": 3.852, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The 13th Vision", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05041\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Omen.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 290321, - "SidewaysCard": false, - "CustomDeck": { - "2903": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "863f1a", - "Name": "Card", - "Transform": { - "posX": 9.061, - "posY": 3.86, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spectral Web", - "Description": "Spell.", - "GMNotes": "{\r\n \"id\": \"05177\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Spell.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275733, - "SidewaysCard": false, - "CustomDeck": { - "2757": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526809828/AB799C8FFD9024655A9F179CCFF1EE30DE0D3C75/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d99735", - "Name": "Card", - "Transform": { - "posX": 9.061, - "posY": 3.86, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jerome Davids", - "Description": "In Way Over His Head", - "GMNotes": "{\r\n \"id\": \"05259\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Assistant.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312512, - "SidewaysCard": false, - "CustomDeck": { - "3125": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/786356000879761873/F22612DB451928DCA4344F3F125F5A8CE128A817/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a7944d", - "Name": "Card", - "Transform": { - "posX": 9.062, - "posY": 3.866, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Springfield M1903 (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02226-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226356, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc4a2c", - "Name": "Card", - "Transform": { - "posX": 9.062, - "posY": 3.866, - "posZ": -16.707, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Will to Survive", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60512\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550810, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5efc92", - "Name": "Card", - "Transform": { - "posX": 9.063, - "posY": 3.868, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blood Eclipse (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53001\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545200, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e567ff", - "Name": "Card", - "Transform": { - "posX": 9.064, - "posY": 3.916, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rookie Mistake", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06007\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Blunder. Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583901, - "SidewaysCard": false, - "CustomDeck": { - "5839": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ca23d4", - "Name": "Card", - "Transform": { - "posX": 9.064, - "posY": 3.916, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Studies (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60428\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538726, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e39c2", - "Name": "Card", - "Transform": { - "posX": 9.064, - "posY": 3.912, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Council's Coffer (2)", - "Description": "What��‚��s in the Box?", - "GMNotes": "{\r\n \"id\": \"05196\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"countPerInvestigator\": 1,\r\n \"type\": \"Lock\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312109, - "SidewaysCard": false, - "CustomDeck": { - "3121": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c4ae95", - "Name": "Card", - "Transform": { - "posX": 9.064, - "posY": 3.912, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Stygian Eye (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07263\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 10,\r\n \"level\": 3,\r\n \"traits\": \"Insight. Cursed.\",\r\n \"willpowerIcons\": 3,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449602, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "30062e", - "Name": "Card", - "Transform": { - "posX": 9.065, - "posY": 3.904, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Three Aces (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06199\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Fortune. Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447630, - "SidewaysCard": false, - "CustomDeck": { - "4476": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6720ef", - "Name": "Card", - "Transform": { - "posX": 9.065, - "posY": 3.904, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Man in the Pallid Mask", - "Description": "Humanoid. Elite.", - "GMNotes": "{\r\n \"id\": \"03059\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Elite.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232300, - "SidewaysCard": false, - "CustomDeck": { - "2323": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ff2776", - "Name": "Card", - "Transform": { - "posX": 9.066, - "posY": 3.894, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptic Writings", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60215\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538813, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eccb8a", - "Name": "Card", - "Transform": { - "posX": 9.066, - "posY": 3.894, - "posZ": -16.708, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Knowledge is Power (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05231-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450611, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6f8d1", - "Name": "Card", - "Transform": { - "posX": 9.067, - "posY": 3.88, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tony's Quarry", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06012\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Monster. Deep One.\",\r\n \"weakness\": true,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Doom\",\r\n \"token\": \"doom\"\r\n },\r\n {\r\n \"count\": 1,\r\n \"type\": \"Bounty\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582106, - "SidewaysCard": false, - "CustomDeck": { - "5821": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c5fb42", - "Name": "Card", - "Transform": { - "posX": 9.067, - "posY": 3.88, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Azure Flame (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60425\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538723, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bad8cb", - "Name": "Card", - "Transform": { - "posX": 9.068, - "posY": 3.863, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Damned", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"54014\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse. Omen.\",\r\n \"permanent\": true,\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449520, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "541ee9", - "Name": "Card", - "Transform": { - "posX": 9.068, - "posY": 3.863, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Paradoxical Covenant (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07120\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 2,\r\n \"traits\": \"Covenant. Blessed. Cursed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553112, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c55160", - "Name": "Card", - "Transform": { - "posX": 9.069, - "posY": 3.843, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mano a Mano (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03229\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Spirit. Bold.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226333, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1c98ff", - "Name": "Card", - "Transform": { - "posX": 9.069, - "posY": 3.843, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Key of Ys (5)", - "Description": "Let the Storm Rage", - "GMNotes": "{\r\n \"id\": \"03315\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368527, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc674e", - "Name": "Card", - "Transform": { - "posX": 9.069, - "posY": 3.843, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Khopesh of the Abyss", - "Description": "Item. Weapon. Relic. Melee.", - "GMNotes": "{\r\n \"id\": \"83057\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Item. Weapon. Relic. Melee.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 546916, - "SidewaysCard": false, - "CustomDeck": { - "5469": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218960581/4546AD2542BDA831A52F111505063691712EE74F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218961222/32A8F41F3FDA4387C71BA2668B2645E36EDAE74D/", - "NumWidth": 10, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "344d98", - "Name": "Card", - "Transform": { - "posX": 9.069, - "posY": 3.869, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pnakotic Manuscripts (5)", - "Description": "Mind-Expanding Ideas", - "GMNotes": "{\r\n \"id\": \"04307\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 5,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 262204, - "SidewaysCard": false, - "CustomDeck": { - "2622": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e35bc2", - "Name": "Card", - "Transform": { - "posX": 9.07, - "posY": 3.793, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dynamite Blast (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50002\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226349, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "72deff", - "Name": "Card", - "Transform": { - "posX": 9.07, - "posY": 3.793, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moon Pendant (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54012\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Charm.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449531, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0d926f", - "Name": "Card", - "Transform": { - "posX": 9.071, - "posY": 3.763, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Prophecies", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06116\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380125, - "SidewaysCard": false, - "CustomDeck": { - "3801": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c9617", - "Name": "Card", - "Transform": { - "posX": 9.071, - "posY": 3.763, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Brother Xavier (1)", - "Description": "Pure of Spirit", - "GMNotes": "{\r\n \"id\": \"02106\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 5,\r\n \"level\": 1,\r\n \"traits\": \"Ally. \",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226340, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2cfa4f", - "Name": "Card", - "Transform": { - "posX": 9.071, - "posY": 3.763, - "posZ": -16.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Swift Reload (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06161\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Tactic. Trick.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380028, - "SidewaysCard": false, - "CustomDeck": { - "3800": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "97a795", - "Name": "Card", - "Transform": { - "posX": 9.072, - "posY": 3.78, - "posZ": -16.71, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Delilah O'Rourke (3)", - "Description": "Syndicate Assassin", - "GMNotes": "{\r\n \"id\": \"06281\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Criminal. Syndicate.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449035, - "SidewaysCard": false, - "CustomDeck": { - "4490": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b5e5f1", - "Name": "Card", - "Transform": { - "posX": 9.073, - "posY": 3.744, - "posZ": -16.71, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tennessee Sour Mash (3)", - "Description": "Rogue", - "GMNotes": "{\r\n \"id\": \"05190\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Illicit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292912, - "SidewaysCard": false, - "CustomDeck": { - "2929": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6cbc01", - "Name": "Card", - "Transform": { - "posX": 9.074, - "posY": 3.693, - "posZ": -16.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Bell Tolls", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"04042\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 537609, - "SidewaysCard": false, - "CustomDeck": { - "5376": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "426d28", - "Name": "Card", - "Transform": { - "posX": 9.074, - "posY": 3.685, - "posZ": -16.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Searching for Izzie", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02011\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586926, - "SidewaysCard": false, - "CustomDeck": { - "5869": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "58c435", - "Name": "Card", - "Transform": { - "posX": 9.075, - "posY": 3.685, - "posZ": -16.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stunning Blow", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04112\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368805, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d9a97", - "Name": "Card", - "Transform": { - "posX": 9.075, - "posY": 3.685, - "posZ": -16.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sharp Vision (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06204\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Developed.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447732, - "SidewaysCard": false, - "CustomDeck": { - "4477": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "36c0cb", - "Name": "Card", - "Transform": { - "posX": 9.075, - "posY": 3.685, - "posZ": -16.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Let me handle this!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03022\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226305, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "82775a", - "Name": "Card", - "Transform": { - "posX": 9.076, - "posY": 3.731, - "posZ": -16.71, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bandolier", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02147\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226325, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f32343", - "Name": "Card", - "Transform": { - "posX": 9.077, - "posY": 3.684, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mauser C96", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60306\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538604, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "68744b", - "Name": "Card", - "Transform": { - "posX": 9.077, - "posY": 3.684, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hard Knocks", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01049\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368623, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1cccfe", - "Name": "Card", - "Transform": { - "posX": 9.077, - "posY": 3.684, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Granny Orne", - "Description": "Tough Old Bird", - "GMNotes": "{\r\n \"id\": \"60508\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550806, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "097dcc", - "Name": "Card", - "Transform": { - "posX": 9.078, - "posY": 3.733, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blackjack", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02016\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226321, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07b163", - "Name": "Card", - "Transform": { - "posX": 9.078, - "posY": 3.733, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky Dice (2)", - "Description": "... Or Are They?", - "GMNotes": "{\r\n \"id\": \"02230\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580707, - "SidewaysCard": false, - "CustomDeck": { - "5807": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1a1b58", - "Name": "Card", - "Transform": { - "posX": 9.079, - "posY": 3.73, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Miskatonic Archaeology Funding (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60232\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 4,\r\n \"traits\": \"Grant.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538830, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c5d8a9", - "Name": "Card", - "Transform": { - "posX": 9.079, - "posY": 3.73, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Obscure Studies", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07008\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588202, - "SidewaysCard": false, - "CustomDeck": { - "5882": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d27d12", - "Name": "Card", - "Transform": { - "posX": 9.079, - "posY": 3.73, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"You owe me one!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05319\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Favor. Gambit.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378018, - "SidewaysCard": false, - "CustomDeck": { - "3780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5a2b49", - "Name": "Card", - "Transform": { - "posX": 9.08, - "posY": 3.773, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cherished Keepsake (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60520\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550818, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "96fd5d", - "Name": "Card", - "Transform": { - "posX": 9.08, - "posY": 3.773, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Plan of Action", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07024\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580418, - "SidewaysCard": false, - "CustomDeck": { - "5804": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2e7d7", - "Name": "Card", - "Transform": { - "posX": 9.081, - "posY": 3.764, - "posZ": -16.711, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Obsessive", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"60204\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538802, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "493b03", - "Name": "Card", - "Transform": { - "posX": 9.081, - "posY": 3.701, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prophesy", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05034\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430906, - "SidewaysCard": false, - "CustomDeck": { - "4309": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3d08dc", - "Name": "Card", - "Transform": { - "posX": 9.081, - "posY": 3.701, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Drawing Thin (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05159-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450609, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8bec05", - "Name": "Card", - "Transform": { - "posX": 9.082, - "posY": 3.735, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lola Santiago (3)", - "Description": "No-Nonsense Archaeologist", - "GMNotes": "{\r\n \"id\": \"04196\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315256, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "29fc24", - "Name": "Card", - "Transform": { - "posX": 9.082, - "posY": 3.735, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ichtaca", - "Description": "The Forgotten Guardian", - "GMNotes": "{\r\n \"id\": \"04147\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Eztli. Wayfarer.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 235648, - "SidewaysCard": false, - "CustomDeck": { - "2356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777497046/3003A76996378249E6AAA4A60D85AE7EE59C1B8B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "83b588", - "Name": "Card", - "Transform": { - "posX": 9.083, - "posY": 3.716, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "August Lindquist", - "Description": "Elegant and Elusive", - "GMNotes": "{\r\n \"id\": \"05227\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Cultist. Silver Twilight.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312509, - "SidewaysCard": false, - "CustomDeck": { - "3125": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/786356000879761873/F22612DB451928DCA4344F3F125F5A8CE128A817/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c025bf", - "Name": "Card", - "Transform": { - "posX": 9.083, - "posY": 3.716, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Memory", - "Description": "Signature", - "GMNotes": "{\r\n \"id\": \"01013\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Spell.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230527, - "SidewaysCard": false, - "CustomDeck": { - "2305": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3d35aa", - "Name": "Card", - "Transform": { - "posX": 9.084, - "posY": 3.694, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archaic Glyphs (3)", - "Description": "Prophecy Foretold", - "GMNotes": "{\r\n \"id\": \"03193\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430653, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8c891", - "Name": "Card", - "Transform": { - "posX": 9.084, - "posY": 3.694, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gate Box", - "Description": "Worlds within Worlds", - "GMNotes": "{\r\n \"id\": \"06013\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"startsInPlay\": true,\r\n \"cost\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06015a\"\r\n }\r\n ],\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582507, - "SidewaysCard": false, - "CustomDeck": { - "5825": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2ef43", - "Name": "Card", - "Transform": { - "posX": 9.085, - "posY": 3.686, - "posZ": -16.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Indebted", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"02037\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"permanent\": true,\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431205, - "SidewaysCard": false, - "CustomDeck": { - "4312": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cbe256", - "Name": "Card", - "Transform": { - "posX": 9.086, - "posY": 3.685, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tennessee Sour Mash (3)", - "Description": "Survivor", - "GMNotes": "{\r\n \"id\": \"05191\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Illicit.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293013, - "SidewaysCard": false, - "CustomDeck": { - "2930": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "344e90", - "Name": "Card", - "Transform": { - "posX": 9.086, - "posY": 3.685, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I've got a plan!\" (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60225\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538823, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f4507", - "Name": "Card", - "Transform": { - "posX": 9.087, - "posY": 3.68, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Forbidden Tome (3)", - "Description": "Dark Knowledge", - "GMNotes": "{\r\n \"id\": \"60229\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538827, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f9ab1", - "Name": "Card", - "Transform": { - "posX": 9.087, - "posY": 3.68, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Vantage Point", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04306\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368411, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f2190", - "Name": "Card", - "Transform": { - "posX": 9.088, - "posY": 3.684, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unexpected Courage (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60526\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550824, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b1550", - "Name": "Card", - "Transform": { - "posX": 9.088, - "posY": 3.684, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leather Coat (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60521\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Item. Armor.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550819, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "092e92", - "Name": "Card", - "Transform": { - "posX": 9.09, - "posY": 3.681, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quick Study (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04154\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430645, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9375f4", - "Name": "Card", - "Transform": { - "posX": 9.09, - "posY": 3.681, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guiding Spirit (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05236\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Geist.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588405, - "SidewaysCard": false, - "CustomDeck": { - "5884": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3289b0", - "Name": "Card", - "Transform": { - "posX": 9.091, - "posY": 3.724, - "posZ": -16.713, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancient Stone (4)", - "Description": "Transient Thoughts", - "GMNotes": "{\r\n \"id\": \"53004\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545203, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b7223c", - "Name": "Card", - "Transform": { - "posX": 9.092, - "posY": 3.715, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Geas (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07265\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Pact.\",\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449604, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "31d087", - "Name": "Card", - "Transform": { - "posX": 9.092, - "posY": 3.715, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Astral Travel", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03034\",\r\n \"alternate_ids\": [\r\n \"60413\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230312, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "27e7b3", - "Name": "Card", - "Transform": { - "posX": 9.092, - "posY": 3.702, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Elli Horowitz", - "Description": "Assistant Curator", - "GMNotes": "{\r\n \"id\": \"04021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Assistant.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368433, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a11abb", - "Name": "Card", - "Transform": { - "posX": 9.092, - "posY": 3.702, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Three Aces (1) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06199-t\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Fortune. Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584413, - "SidewaysCard": false, - "CustomDeck": { - "5844": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5f9a10", - "Name": "Card", - "Transform": { - "posX": 9.093, - "posY": 3.687, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream Diary (3)", - "Description": "Dreams of an Explorer", - "GMNotes": "{\r\n \"id\": \"06236\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome. Charm.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06113\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447834, - "SidewaysCard": false, - "CustomDeck": { - "4478": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "69116c", - "Name": "Card", - "Transform": { - "posX": 9.094, - "posY": 3.685, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ward of Radiance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07031\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583025, - "SidewaysCard": false, - "CustomDeck": { - "5830": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4fb446", - "Name": "Card", - "Transform": { - "posX": 9.094, - "posY": 3.685, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Internal Injury", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"02038\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Injury.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431206, - "SidewaysCard": false, - "CustomDeck": { - "4312": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5630c2", - "Name": "Card", - "Transform": { - "posX": 9.095, - "posY": 3.73, - "posZ": -16.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sergeant Monroe", - "Description": "Two Days Until Retirement", - "GMNotes": "{\r\n \"id\": \"84008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 5,\r\n \"traits\": \"Ally. Police.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 534902, - "SidewaysCard": false, - "CustomDeck": { - "5349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493212055041441/90F035BD69A7C5C6B6F43426DDDA3A09DFCBCBDF/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2d392", - "Name": "Card", - "Transform": { - "posX": 9.096, - "posY": 3.684, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Abyssal Tome (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07159\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232107, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d946d9", - "Name": "Card", - "Transform": { - "posX": 9.096, - "posY": 3.684, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wither", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05157\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277511, - "SidewaysCard": false, - "CustomDeck": { - "2775": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "389a34", - "Name": "Card", - "Transform": { - "posX": 9.097, - "posY": 3.684, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Backpack (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"53011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545210, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "223ba3", - "Name": "Card", - "Transform": { - "posX": 9.097, - "posY": 3.684, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Twilight Blade", - "Description": "Sanctum's Reward", - "GMNotes": "{\r\n \"id\": \"05013\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Relic. Weapon.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449359, - "SidewaysCard": false, - "CustomDeck": { - "4493": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2fba3b", - "Name": "Card", - "Transform": { - "posX": 9.097, - "posY": 3.684, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Switchblade (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02152\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Melee. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315243, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f00301", - "Name": "Card", - "Transform": { - "posX": 9.098, - "posY": 3.731, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ineffable Truth (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60432\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538730, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc3b07", - "Name": "Card", - "Transform": { - "posX": 9.098, - "posY": 3.731, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lone Wolf", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02188\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368619, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4156cf", - "Name": "Card", - "Transform": { - "posX": 9.099, - "posY": 3.726, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Search for the Truth", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02008\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371806, - "SidewaysCard": false, - "CustomDeck": { - "3718": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5a51d1", - "Name": "Card", - "Transform": { - "posX": 9.099, - "posY": 3.726, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sleight of Hand (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03029-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450618, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "050ba1", - "Name": "Card", - "Transform": { - "posX": 9.1, - "posY": 3.718, - "posZ": -16.715, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Live and Learn", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04200\",\r\n \"alternate_ids\": [\r\n \"60516\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368807, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6c44a", - "Name": "Card", - "Transform": { - "posX": 9.101, - "posY": 3.707, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Disc of Itzamna", - "Description": "Protective Amulet", - "GMNotes": "{\r\n \"id\": \"60207\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538805, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f4bac6", - "Name": "Card", - "Transform": { - "posX": 9.101, - "posY": 3.707, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Detective's Colt 1911s", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05009\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 592055, - "SidewaysCard": false, - "CustomDeck": { - "5920": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "644af9", - "Name": "Card", - "Transform": { - "posX": 9.101, - "posY": 3.707, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Studies (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50007\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230340, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "968a26", - "Name": "Card", - "Transform": { - "posX": 9.102, - "posY": 3.743, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stargazing (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06027\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Insight. Augury.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06028\"\r\n }\r\n ],\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444022, - "SidewaysCard": false, - "CustomDeck": { - "4440": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "275dc3", - "Name": "Card", - "Transform": { - "posX": 9.102, - "posY": 3.743, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bought in Blood", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04007\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 377141, - "SidewaysCard": false, - "CustomDeck": { - "3771": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "66d5a3", - "Name": "Card", - "Transform": { - "posX": 9.103, - "posY": 3.726, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archaic Glyphs (3)", - "Description": "Markings of Isis", - "GMNotes": "{\r\n \"id\": \"52004\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 441024, - "SidewaysCard": false, - "CustomDeck": { - "4410": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e99f0d", - "Name": "Card", - "Transform": { - "posX": 9.104, - "posY": 3.706, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stirring Up Trouble (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07112\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Insight. Cursed.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553104, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c2d211", - "Name": "Card", - "Transform": { - "posX": 9.105, - "posY": 3.688, - "posZ": -16.716, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Swift Reflexes", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05156\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Gambit.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277711, - "SidewaysCard": false, - "CustomDeck": { - "2777": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "76978f", - "Name": "Card", - "Transform": { - "posX": 9.106, - "posY": 3.675, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trial by Fire (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54010\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449530, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "df0e22", - "Name": "Card", - "Transform": { - "posX": 9.106, - "posY": 3.675, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Otherworld Codex (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06158\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379930, - "SidewaysCard": false, - "CustomDeck": { - "3799": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cfb393", - "Name": "Card", - "Transform": { - "posX": 9.106, - "posY": 3.675, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "John & Jessie Burke", - "Description": "Ally. Government.", - "GMNotes": "{\r\n \"id\": \"83055\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Government.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 454740, - "SidewaysCard": false, - "CustomDeck": { - "4547": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218921670/8EF5B59C1AC4559A3947140F08010D8B014A11E9/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218923075/6DE3A0F2FBB17DAA8374540DBE43CE6BD65EB541/", - "NumWidth": 10, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e6efe6", - "Name": "Card", - "Transform": { - "posX": 9.107, - "posY": 3.759, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bury Them Deep", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03016\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Task.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"victory\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431818, - "SidewaysCard": false, - "CustomDeck": { - "4318": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f5d382", - "Name": "Card", - "Transform": { - "posX": 9.107, - "posY": 3.759, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clairvoyance (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60426\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538724, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8aa0c3", - "Name": "Card", - "Transform": { - "posX": 9.108, - "posY": 3.789, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deny Existence", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05032\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Paradox.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430908, - "SidewaysCard": false, - "CustomDeck": { - "4309": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f903e", - "Name": "Card", - "Transform": { - "posX": 9.108, - "posY": 3.789, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lost Soul", - "Description": "Madness. Pact.", - "GMNotes": "{\r\n \"id\": \"03227\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness. Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232348, - "SidewaysCard": false, - "CustomDeck": { - "2323": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "090fcf", - "Name": "Card", - "Transform": { - "posX": 9.109, - "posY": 3.817, - "posZ": -16.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Glimpse the Unthinkable (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05318\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 5,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 3,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 591922, - "SidewaysCard": false, - "CustomDeck": { - "5919": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc1ef3", - "Name": "Card", - "Transform": { - "posX": 9.11, - "posY": 3.841, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Book of Psalms", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07017\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588011, - "SidewaysCard": false, - "CustomDeck": { - "5880": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "946a58", - "Name": "Card", - "Transform": { - "posX": 9.11, - "posY": 3.841, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Decorated Skull (3)", - "Description": "Doom Begets Doom", - "GMNotes": "{\r\n \"id\": \"53005\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545204, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d753d7", - "Name": "Card", - "Transform": { - "posX": 9.111, - "posY": 3.912, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Momentum (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06115\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380026, - "SidewaysCard": false, - "CustomDeck": { - "3800": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "be33f5", - "Name": "Card", - "Transform": { - "posX": 9.112, - "posY": 3.93, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tennessee Sour Mash", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05117\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Illicit.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277605, - "SidewaysCard": false, - "CustomDeck": { - "2776": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "438cca", - "Name": "Card", - "Transform": { - "posX": 9.112, - "posY": 3.93, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Drawing the Sign", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"03041\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Pact. Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580603, - "SidewaysCard": false, - "CustomDeck": { - "5806": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e0530", - "Name": "Card", - "Transform": { - "posX": 9.113, - "posY": 3.945, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Double, Double (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05320\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378019, - "SidewaysCard": false, - "CustomDeck": { - "3780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bd65dc", - "Name": "Card", - "Transform": { - "posX": 9.113, - "posY": 3.945, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Yaztaroth", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"98018\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse. Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590201, - "SidewaysCard": false, - "CustomDeck": { - "5902": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2561b9", - "Name": "Card", - "Transform": { - "posX": 9.114, - "posY": 4.007, - "posZ": -16.718, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "In the Shadows", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07010\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"agilityIcons\": 2,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582904, - "SidewaysCard": false, - "CustomDeck": { - "5829": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fab3a9", - "Name": "Card", - "Transform": { - "posX": 9.115, - "posY": 4.016, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Library Docent (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60220\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538818, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9f0b34", - "Name": "Card", - "Transform": { - "posX": 9.115, - "posY": 4.016, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pay Day (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04233\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Illicit. Fated.\",\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315262, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "857238", - "Name": "Card", - "Transform": { - "posX": 9.116, - "posY": 4.071, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hatchet Man", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04155\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261704, - "SidewaysCard": false, - "CustomDeck": { - "2617": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "db4a43", - "Name": "Card", - "Transform": { - "posX": 9.117, - "posY": 4.074, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Boxing Gloves", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60105\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545303, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a1fd61", - "Name": "Card", - "Transform": { - "posX": 9.117, - "posY": 4.074, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ambush (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03148\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226338, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0b963c", - "Name": "Card", - "Transform": { - "posX": 9.118, - "posY": 4.073, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cheap Shot (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60323\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Trick.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538621, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1e6a06", - "Name": "Card", - "Transform": { - "posX": 9.118, - "posY": 4.073, - "posZ": -16.719, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Favor of the Sun (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07272\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Pact. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449611, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/cards/FavoroftheSun1\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Bless\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/FavoroftheSun1\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "16e57b", - "Name": "Card", - "Transform": { - "posX": 9.119, - "posY": 4.069, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Black Cat (5)", - "Description": "A Liar, or a Prophet, or Both", - "GMNotes": "{\r\n \"id\": \"06285\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 5,\r\n \"traits\": \"Ally. Avatar. Dreamlands.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448613, - "SidewaysCard": false, - "CustomDeck": { - "4486": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ff1dfe", - "Name": "Card", - "Transform": { - "posX": 9.12, - "posY": 4.012, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "All In (5) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04309-t\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 5,\r\n \"traits\": \"Fortune.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450620, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e66002", - "Name": "Card", - "Transform": { - "posX": 9.121, - "posY": 3.952, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lantern", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03036\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368827, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7667ef", - "Name": "Card", - "Transform": { - "posX": 9.121, - "posY": 3.952, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Relic of Ages", - "Description": "Forestalling the Future", - "GMNotes": "{\r\n \"id\": \"04191\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 235667, - "SidewaysCard": false, - "CustomDeck": { - "2356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777497046/3003A76996378249E6AAA4A60D85AE7EE59C1B8B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e27a30", - "Name": "Card", - "Transform": { - "posX": 101.079, - "posY": 1.985, - "posZ": -13.623, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Relic of Ages", - "Description": "��‚��A Device, of Some Sort", - "GMNotes": "{\r\n \"id\": \"04061\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 235603, - "SidewaysCard": false, - "CustomDeck": { - "2356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777497046/3003A76996378249E6AAA4A60D85AE7EE59C1B8B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ea0007", - "Name": "Card", - "Transform": { - "posX": 9.122, - "posY": 3.939, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Patrice's Violin", - "Description": "My Muse", - "GMNotes": "{\r\n \"id\": \"06016\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Instrument.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586210, - "SidewaysCard": false, - "CustomDeck": { - "5862": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "334f03", - "Name": "Card", - "Transform": { - "posX": 9.122, - "posY": 3.939, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Resourceful", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03039\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368802, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c6c260", - "Name": "Card", - "Transform": { - "posX": 9.123, - "posY": 3.922, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cornered (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04160\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368851, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8e57b8", - "Name": "Card", - "Transform": { - "posX": 9.123, - "posY": 3.922, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clarity of Mind", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230322, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d45f10", - "Name": "Card", - "Transform": { - "posX": 9.123, - "posY": 3.922, - "posZ": -16.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Necronomicon", - "Description": "Olaus Wormius Translation", - "GMNotes": "{\r\n \"id\": \"02140\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232934, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "603e29", - "Name": "Card", - "Transform": { - "posX": 9.124, - "posY": 3.953, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Smoking Pipe", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02116\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368514, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f2877e", - "Name": "Card", - "Transform": { - "posX": 9.125, - "posY": 3.88, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sacrifice (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04234\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230362, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "170127", - "Name": "Card", - "Transform": { - "posX": 9.125, - "posY": 3.88, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Well Connected (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Condition.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449526, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "125f13", - "Name": "Card", - "Transform": { - "posX": 9.125, - "posY": 3.88, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Watchful Peace (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07269-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Spirit. Blessed.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585500, - "SidewaysCard": false, - "CustomDeck": { - "5855": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5d5f0", - "Name": "Card", - "Transform": { - "posX": 9.126, - "posY": 3.904, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ace in the Hole (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02266-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Trick.\",\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450617, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1ad931", - "Name": "Card", - "Transform": { - "posX": 9.126, - "posY": 3.904, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hand of Fate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07020\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588314, - "SidewaysCard": false, - "CustomDeck": { - "5883": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "47bdba", - "Name": "Card", - "Transform": { - "posX": 9.128, - "posY": 3.875, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Parallel Fates", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60415\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Augury.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538713, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9d7d4a", - "Name": "Card", - "Transform": { - "posX": 9.128, - "posY": 3.875, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ikiaq (3)", - "Description": "The Council's Chosen", - "GMNotes": "{\r\n \"id\": \"07267\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Sorcerer.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449606, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e27c93", - "Name": "Card", - "Transform": { - "posX": 9.129, - "posY": 3.843, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Offer You Cannot Refuse", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"53013\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545212, - "SidewaysCard": false, - "CustomDeck": { - "5452": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537158415/2EBB208AA994ED70FD0FEB02D4E4FE78FE43EE02/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "84b918", - "Name": "Card", - "Transform": { - "posX": 9.129, - "posY": 3.843, - "posZ": -16.721, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchanted Blade (3)", - "Description": "Guardian", - "GMNotes": "{\r\n \"id\": \"05192\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292815, - "SidewaysCard": false, - "CustomDeck": { - "2928": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3fe6de", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.659, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gravedigger's Shovel", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03037\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368829, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd3d09", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.663, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Pact", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"04038\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440813, - "SidewaysCard": false, - "CustomDeck": { - "4408": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a20887", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.694, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grisly Totem", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05119\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor|Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277606, - "SidewaysCard": false, - "CustomDeck": { - "2776": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd130e", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.722, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hiding Spot", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03038\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368808, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2fc31c", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.722, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mi-Go Weapon", - "Description": "", - "GMNotes": "{\r\n \"id\": \"85031\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Weapon. Science.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 233606, - "SidewaysCard": false, - "CustomDeck": { - "2336": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784129708171655462/0B7EFEEA9A53B93350FEC7F68F39A20D1D6580A9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6abfbc", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.797, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Erynn MacAoidh", - "Description": "Devoted Enchantress", - "GMNotes": "{\r\n \"id\": \"54041\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Witch.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449503, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f6aba5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.797, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unspeakable Oath (Curiosity)", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"52012\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness. Pact.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"hidden\": true,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438123, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc4ce8", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.869, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Chthonian Stone", - "Description": "Stygian Waymark", - "GMNotes": "{\r\n \"id\": \"04030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Cursed.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230327, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/TheChthonianStone\")\nend)\n__bundle_register(\"playercards/cards/TheChthonianStone\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ff4aea", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.887, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scavenging (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06332\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448737, - "SidewaysCard": false, - "CustomDeck": { - "4487": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc11e4", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.903, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lockpicks", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60305\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538603, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "31cfbf", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.903, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Breaking and Entering", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07114\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553106, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "73bccf", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.903, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Penny White", - "Description": "The Nightmare is Over", - "GMNotes": "{\r\n \"id\": \"05260\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Assistant.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312513, - "SidewaysCard": false, - "CustomDeck": { - "3125": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/786356000879761873/F22612DB451928DCA4344F3F125F5A8CE128A817/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "074858", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.015, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ace in the Hole (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02266\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Trick.\",\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315252, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c8bb2a", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.015, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky Dice (3)", - "Description": "... Or Are They?", - "GMNotes": "{\r\n \"id\": \"07307\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589606, - "SidewaysCard": false, - "CustomDeck": { - "5896": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "63b3e5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.074, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Monster Slayer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60116\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545314, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6eceef", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.129, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sixth Sense", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05158\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277512, - "SidewaysCard": false, - "CustomDeck": { - "2775": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ea8324", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.129, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Expeditious Retreat (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06246\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Developed.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447734, - "SidewaysCard": false, - "CustomDeck": { - "4477": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2e93fd", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.182, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Expose Weakness (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02228\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430635, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "41a9ec", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.182, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Until the End of Time", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04015\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 376600, - "SidewaysCard": false, - "CustomDeck": { - "3766": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "97781f", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.182, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wracked by Nightmares", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02015\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371013, - "SidewaysCard": false, - "CustomDeck": { - "3710": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "53d765", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.182, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blood Eclipse (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04266\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314000, - "SidewaysCard": false, - "CustomDeck": { - "3140": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c73bb0", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.331, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Signum Crucis (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07197\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588508, - "SidewaysCard": false, - "CustomDeck": { - "5885": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0d29be", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.331, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burning the Midnight Oil", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60214\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538812, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "863f91", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.331, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancient Stone (4)", - "Description": "Knowledge of the Elders", - "GMNotes": "{\r\n \"id\": \"04230\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 262202, - "SidewaysCard": false, - "CustomDeck": { - "2622": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48e4a3", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.426, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Priest of Two Faiths (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07156\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Blessed. Cursed.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232104, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e4ab48", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.426, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cloak of the Outer Realm", - "Description": "Interwoven Distortion", - "GMNotes": "{\r\n \"id\": \"86051\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic. Clothing.\",\r\n \"agilityIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587926, - "SidewaysCard": false, - "CustomDeck": { - "5879": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600953065965648/5A0D88CCA811A490C2FEF2675A397E1CEE010870/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c1944", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.426, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lita Chantler", - "Description": "Ally", - "GMNotes": "{\r\n \"id\": \"01117\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Ally.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 295128, - "SidewaysCard": false, - "CustomDeck": { - "2951": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/87094793642393244/74ADDF83D8B03DBF4AD5DC7230C2D12E84685317/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f6b1b6", - "Name": "CardCustom", - "Transform": { - "posX": 9.132, - "posY": 4.518, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eldritch Sophist", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07111\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 549300, - "SidewaysCard": false, - "CustomDeck": { - "5493": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1537373727958826520/EE54EF6510734FC86ADD47E84DB253493A2F87B7/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d559a", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.518, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Skeleton Key (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04270\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic. Cursed.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581409, - "SidewaysCard": false, - "CustomDeck": { - "5814": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9da37c", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.518, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fire Axe", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368825, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6fa7fa", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.518, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Track Shoes", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05036\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Clothing. Footwear.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 274608, - "SidewaysCard": false, - "CustomDeck": { - "2746": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d0e108", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.657, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gilded Volto", - "Description": "", - "GMNotes": "{\r\n \"id\": \"82026\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Mask.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 295604, - "SidewaysCard": false, - "CustomDeck": { - "2956": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/87094793642329861/9768E9FE9C71E74721340D0D81607F534E54A3DE/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "42806b", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.657, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Professor Warren Rice", - "Description": "Professor of Languages", - "GMNotes": "{\r\n \"id\": \"02061\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232904, - "SidewaysCard": false, - "CustomDeck": { - "2329": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/782999241295993974/70871F727ABBAB3DB22003051B5E1FBF8999AEEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9dc3d4", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.743, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Expedition Journal", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04148\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 235649, - "SidewaysCard": false, - "CustomDeck": { - "2356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1467561769777497046/3003A76996378249E6AAA4A60D85AE7EE59C1B8B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eab2ed", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.743, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Teamwork", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02018\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226306, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "08e5a6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.743, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tetsuo Mori", - "Description": "Too Noble for His Own Good", - "GMNotes": "{\r\n \"id\": \"06155\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Police.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379829, - "SidewaysCard": false, - "CustomDeck": { - "3798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "536b52", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.875, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Insight (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03266\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430659, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9bcdee", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.954, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Newspaper (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03313\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368847, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2ae3ce", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.954, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Song of the Dead (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02112\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Song.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230345, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d30a1", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.954, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Tattered Cloak", - "Description": "Regalia Dementia", - "GMNotes": "{\r\n \"id\": \"03143\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Clothing.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 232333, - "SidewaysCard": false, - "CustomDeck": { - "2323": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107058378761608/B291D276D6FF71FDB43B69DE7507D56767BE975E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "658d38", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.029, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shrewd Analysis", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04106\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368419, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "85fe46", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.029, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Taunt (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60130\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545328, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "44cf4a", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.029, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "No Stone Unturned", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03026\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368415, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "99989c", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.102, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quick Thinking", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02229\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261703, - "SidewaysCard": false, - "CustomDeck": { - "2617": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f08934", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.102, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Insight", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05014\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"startsInHand\": true,\r\n \"cost\": 2,\r\n \"traits\": \"Insight.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444260, - "SidewaysCard": false, - "CustomDeck": { - "4442": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bf3dd1", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.102, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Defiance (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04198\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230338, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "41e560", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.102, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".35 Winchester (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06195-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450624, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e72b6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.22, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Chuck Fergus (5)", - "Description": "O'Bannion Driver", - "GMNotes": "{\r\n \"id\": \"60332\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538630, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d708d9", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.22, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Physical Training (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50001\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226343, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3586e6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.286, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Occult Evidence", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06008\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Insight. Research.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582702, - "SidewaysCard": false, - "CustomDeck": { - "5827": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e8b179", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.286, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptic Grimoire (4)", - "Description": "Text of the Elder Herald", - "GMNotes": "{\r\n \"id\": \"07191\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Tome. Cursed.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588102, - "SidewaysCard": false, - "CustomDeck": { - "5881": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5c3aea", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.286, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Inquiring Mind", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02227\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368401, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "91e53c", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.348, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daring", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06111\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379827, - "SidewaysCard": false, - "CustomDeck": { - "3798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3f91af", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.348, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rabbit's Foot (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50010\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Charm.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368855, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c7b748", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.348, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fishing Net", - "Description": "Trap.", - "GMNotes": "{\r\n \"id\": \"81021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Trap.\",\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 7502, - "SidewaysCard": false, - "CustomDeck": { - "75": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/138879070086634183/2856A2C2077CFA2C61B9EF2498CAE6865024DB72/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6da7c4", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.407, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Neither Rain nor Snow", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60502\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550800, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aa3984", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.407, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Winging It", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04272\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Improvised.\",\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430501, - "SidewaysCard": false, - "CustomDeck": { - "4305": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ce005", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.463, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Esoteric Atlas (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05232\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Item. Tome.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293216, - "SidewaysCard": false, - "CustomDeck": { - "2932": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ab24a6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.463, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lady Esprit", - "Description": "Dangerous Bokor", - "GMNotes": "{\r\n \"id\": \"81019\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Sorcerer.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449703, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/138879070086634183/2856A2C2077CFA2C61B9EF2498CAE6865024DB72/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f375bf", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.463, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Forbidden Tome (3)", - "Description": "Secrets Revealed", - "GMNotes": "{\r\n \"id\": \"60230\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538828, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b04c8e", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.515, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Randolph Carter", - "Description": "Expert Dreamer", - "GMNotes": "{\r\n \"id\": \"06059\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Dreamer.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452300, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493383646802545/EF89145CA7EEC1746A59CCBDDEE52526997C5DED/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "276477", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.515, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Money Talks", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05029\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Favor. Gambit.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527607, - "SidewaysCard": false, - "CustomDeck": { - "5276": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e44c96", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.515, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Headdress of Y'ha-nthlei", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07181\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 451114, - "SidewaysCard": false, - "CustomDeck": { - "4511": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "033a35", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.515, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rex's Curse", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02009\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371907, - "SidewaysCard": false, - "CustomDeck": { - "3719": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "725690", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.511, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mauser C96 (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60321\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538619, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "97e9ce", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.554, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Abigail Foreman (4)", - "Description": "Library Intern", - "GMNotes": "{\r\n \"id\": \"06324\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448839, - "SidewaysCard": false, - "CustomDeck": { - "4488": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "848d9c", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.554, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Finn's Trusty .38", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 376739, - "SidewaysCard": false, - "CustomDeck": { - "3767": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c7fe4a", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.543, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nine of Rods (3)", - "Description": "Every Trial a Lesson", - "GMNotes": "{\r\n \"id\": \"54009\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449529, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "26853e", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.543, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Word of Command (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06202\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448030, - "SidewaysCard": false, - "CustomDeck": { - "4480": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf5ac8", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.53, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Observed (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"54013\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"level\": 4,\r\n \"traits\": \"Blessed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449533, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1ee492", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.53, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Madame Labranche", - "Description": "Mysterious Benefactress", - "GMNotes": "{\r\n \"id\": \"03198\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Patron.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368828, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7b42b6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.563, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "In the Know (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03027\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430640, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "010509", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.563, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Occult Invocation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60217\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538815, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9fa2a5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.563, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Necronomicon (5) (Taboo)", - "Description": "Petrus de Dacia Translation", - "GMNotes": "{\r\n \"id\": \"60233-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 5,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450613, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4425b5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.593, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".25 Automatic (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07305\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589404, - "SidewaysCard": false, - "CustomDeck": { - "5894": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ffdeb5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.52, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Peter Sylvestre", - "Description": "Big Man on Campus", - "GMNotes": "{\r\n \"id\": \"02033\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368832, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6b2e97", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.52, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grotesque Statue (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60421\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538719, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fbfa24", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.544, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptic Grimoire", - "Description": "Untranslated", - "GMNotes": "{\r\n \"id\": \"07022\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome. Occult.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587116, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1f3f16", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.544, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "No Stone Unturned (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03307\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 5,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430658, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "86feae", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.515, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Call of the Unknown", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04009\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 377244, - "SidewaysCard": false, - "CustomDeck": { - "3772": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e7f37b", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.515, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Suggestion (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03268\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315259, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1258c6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.482, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Logical Reasoning (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52003\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 3,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 441023, - "SidewaysCard": false, - "CustomDeck": { - "4410": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fe68c6", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.482, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Dirge of Reason", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98006\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 369945, - "SidewaysCard": false, - "CustomDeck": { - "3699": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "27f6aa", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.446, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ariadne's Twine (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07304\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Ritual.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589303, - "SidewaysCard": false, - "CustomDeck": { - "5893": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc6b14", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.446, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daring Maneuver", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03030\",\r\n \"alternate_ids\": [\r\n \"60313\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Gambit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368706, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c33a10", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.316, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Liquid Courage", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02024\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Illicit.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368620, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6ad46b", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.316, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Essence of the Dream", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06113\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Practiced. Expert.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379929, - "SidewaysCard": false, - "CustomDeck": { - "3799": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8b0193", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.271, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deciphered Reality (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02303\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430660, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6aea76", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.173, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Occult Scraps", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"07013\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587707, - "SidewaysCard": false, - "CustomDeck": { - "5877": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "acce72", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 5.018, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lodge \"Debts\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05012\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 10,\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 591858, - "SidewaysCard": false, - "CustomDeck": { - "5918": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "61fd07", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.85, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Silver Key", - "Description": "Key to the Gate of Dreams", - "GMNotes": "{\r\n \"id\": \"06189\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Charm. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 278846, - "SidewaysCard": false, - "CustomDeck": { - "2788": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493383646802545/EF89145CA7EEC1746A59CCBDDEE52526997C5DED/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ba1460", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.85, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bind Monster (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02031\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230347, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "efb09b", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.671, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Double or Nothing", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02026\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261701, - "SidewaysCard": false, - "CustomDeck": { - "2617": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8c93a", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.601, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cheap Shot", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03194\",\r\n \"alternate_ids\": [\r\n \"60312\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368715, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "620b6e", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.601, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Contraband (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51005\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Supply. Illicit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315304, - "SidewaysCard": false, - "CustomDeck": { - "3153": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a14a11", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.529, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archaic Glyphs (3)", - "Description": "Guiding Stones", - "GMNotes": "{\r\n \"id\": \"03192\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430652, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "18927e", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.529, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Treasure Hunter (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04025\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315236, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "14d04f", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.453, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. William T. Maleson", - "Description": "Working on Something Big", - "GMNotes": "{\r\n \"id\": \"02302\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581102, - "SidewaysCard": false, - "CustomDeck": { - "5811": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f6ff32", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.374, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Narrow Escape", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03267\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368708, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a06aa7", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.243, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Recall the Future (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04158\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Augury. Ritual.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230344, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "baef55", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.243, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Second Wind", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04149\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Bold.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226316, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "28289a", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 4.158, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Holy Spear (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07302\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Weapon. Melee. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590001, - "SidewaysCard": false, - "CustomDeck": { - "5900": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/HolySpear5\")\nend)\n__bundle_register(\"playercards/cards/HolySpear5\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Bless\"] = true\r\n}\r\n\r\nSHOW_SINGLE_RELEASE = true\r\nSHOW_MULTI_SEAL = 2\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a973aa", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.786, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Streetwise", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60311\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538609, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9956d5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.695, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Taunt (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02019\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226344, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8b68f4", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.695, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crisis of Faith", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"07007\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582001, - "SidewaysCard": false, - "CustomDeck": { - "5820": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bda4fd", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.686, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lantern (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52009\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440621, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc82a5", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.685, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daring Maneuver (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60322\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Gambit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538620, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b0235", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.685, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Persuasion", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04105\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Trick.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368414, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ae20e0", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.68, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alice Luxley", - "Description": "Fearless Flatfoot", - "GMNotes": "{\r\n \"id\": \"05151\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Detective. Police.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 278010, - "SidewaysCard": false, - "CustomDeck": { - "2780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b4434", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.68, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Horse", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02234\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Condition.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368833, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2172e2", - "Name": "Card", - "Transform": { - "posX": 9.132, - "posY": 3.683, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Esoteric Atlas (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60222\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538820, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5690d1", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.684, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Knuckleduster", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03110\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368627, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07a8f0", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.684, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Art Student", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02149\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368428, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dcdcea", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.684, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"You handle this one!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04028\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368705, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0cc3e7", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.731, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Followed", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06114\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380025, - "SidewaysCard": false, - "CustomDeck": { - "3800": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b14dc", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.731, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Thermos", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04274\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261102, - "SidewaysCard": false, - "CustomDeck": { - "2611": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2237f4", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.775, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gavriella Mizrah", - "Description": "Not Going Down That Easily", - "GMNotes": "{\r\n \"id\": \"05258\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Veteran.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312511, - "SidewaysCard": false, - "CustomDeck": { - "3125": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/786356000879761873/F22612DB451928DCA4344F3F125F5A8CE128A817/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2c76d9", - "Name": "Card", - "Transform": { - "posX": 101.211, - "posY": 1.985, - "posZ": -15.649, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "What Have You Done?", - "Description": "Madness.", - "GMNotes": "{\r\n \"id\": \"84007\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 534901, - "SidewaysCard": false, - "CustomDeck": { - "5349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/778493212055041441/90F035BD69A7C5C6B6F43426DDDA3A09DFCBCBDF/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f57a6f", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.765, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wither (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05321\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379619, - "SidewaysCard": false, - "CustomDeck": { - "3796": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2d94ed", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.765, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hungering Blade (1)", - "Description": "Calamitous Blade of Celephaïs", - "GMNotes": "{\r\n \"id\": \"06018\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Item. Weapon. Melee. Relic. Cursed.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 3,\r\n \"id\": \"06019\"\r\n }\r\n ],\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590414, - "SidewaysCard": false, - "CustomDeck": { - "5904": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e2bc49", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.803, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hypnotic Gaze (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60423\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538721, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fcffa3", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.803, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrapper (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02193-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450606, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f2508d", - "Name": "Card", - "Transform": { - "posX": 9.133, - "posY": 3.837, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hot Streak (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50006\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 5,\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315250, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f98f6f", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.796, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Double or Nothing (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02026-t\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450625, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e21854", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.796, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Monster Slayer (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02300\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 5,\r\n \"traits\": \"Spirit.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226359, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "025ed2", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.796, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Justify the Means (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07306\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 3,\r\n \"traits\": \"Practiced. Cursed.\",\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589505, - "SidewaysCard": false, - "CustomDeck": { - "5895": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "591284", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.82, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Waveworn Idol", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07179\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 451112, - "SidewaysCard": false, - "CustomDeck": { - "4511": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc6e4d", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.82, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Take Heart", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04201\",\r\n \"alternate_ids\": [\r\n \"60519\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368806, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9683d0", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.792, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Olive McBride", - "Description": "Will Try Anything Once", - "GMNotes": "{\r\n \"id\": \"04197\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Witch.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230321, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "20645e", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.792, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Counterpunch", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60112\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545310, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7885cf", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.81, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Harmony Restored (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07230\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Fortune. Blessed.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580010, - "SidewaysCard": false, - "CustomDeck": { - "5800": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "273584", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.81, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Glory", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60115\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545313, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "99d061", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.775, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Intrepid", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04192\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226304, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ad18a6", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.787, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Red-Gloved Man (5)", - "Description": "He Was Never There", - "GMNotes": "{\r\n \"id\": \"02310\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 5,\r\n \"traits\": \"Ally. Conspirator.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368526, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "051742", - "Name": "Card", - "Transform": { - "posX": 9.134, - "posY": 3.787, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Able Bodied", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05038\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 274606, - "SidewaysCard": false, - "CustomDeck": { - "2746": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "44a37f", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.796, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Old Hunting Rifle (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04273\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314800, - "SidewaysCard": false, - "CustomDeck": { - "3148": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd4a25", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.796, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Whispers from the Deep", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"07009\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"wildIcons\": 1,\r\n \"negativeIcons\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585903, - "SidewaysCard": false, - "CustomDeck": { - "5859": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cbfc12", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.751, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archaic Glyphs", - "Description": "Untranslated", - "GMNotes": "{\r\n \"id\": \"03025\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Item. Occult. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368420, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5e808d", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.751, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Self-Sacrifice", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06157\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379831, - "SidewaysCard": false, - "CustomDeck": { - "3798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "006d44", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.751, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Another Day, Another Dollar (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05278\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378017, - "SidewaysCard": false, - "CustomDeck": { - "3780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "013446", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.753, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Extensive Research", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60216\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 12,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538814, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bcf406", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.753, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shell Shock", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03008\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431731, - "SidewaysCard": false, - "CustomDeck": { - "4317": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "284bbe", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.753, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Yaotl (1)", - "Description": "Lost Son of Eztli", - "GMNotes": "{\r\n \"id\": \"04035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584811, - "SidewaysCard": false, - "CustomDeck": { - "5848": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bc3451", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.752, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burglary", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01045\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368622, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d5c93d", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.752, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Tower ∙ XVI", - "Description": "Circumstances Beyond Your Control", - "GMNotes": "{\r\n \"id\": \"05042\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Omen. Tarot.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 290320, - "SidewaysCard": false, - "CustomDeck": { - "2903": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7f27d6", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.698, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sharpshooter (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60327\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538625, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ff9f23", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.698, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Segment of Onyx (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic. Occult.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06022\"\r\n }\r\n ],\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 441026, - "SidewaysCard": false, - "CustomDeck": { - "4410": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3ff641", - "Name": "Card", - "Transform": { - "posX": 9.135, - "posY": 3.691, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Reckless Assault", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03118\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Desperate.\",\r\n \"combatIcons\": 4,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368503, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3b8cb7", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.686, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mystifying Song", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05018\",\r\n \"alternate_ids\": [\r\n \"99002\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Spell. Song.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444451, - "SidewaysCard": false, - "CustomDeck": { - "4444": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "16ad5d", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.686, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Baron Samedi", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05019\",\r\n \"alternate_ids\": [\r\n \"99003\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Avatar.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527552, - "SidewaysCard": false, - "CustomDeck": { - "5275": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7ec473", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.677, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stand Together", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60118\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545316, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eeb330", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.683, - "posZ": -16.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Chronophobia", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"02039\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431207, - "SidewaysCard": false, - "CustomDeck": { - "4312": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "372b5b", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.735, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The World ∙ XXI (3)", - "Description": "The Journey is Complete", - "GMNotes": "{\r\n \"id\": \"54003\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449523, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b74c69", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.735, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Fool ∙ 0 (3)", - "Description": "Unlimited Potential", - "GMNotes": "{\r\n \"id\": \"54011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449532, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f1f24e", - "Name": "Card", - "Transform": { - "posX": 9.136, - "posY": 3.735, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ríastrad (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07193\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Spell. Spirit. Cursed.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588604, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2240f9", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.785, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Coup de Grâce", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04269\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Fated.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 276200, - "SidewaysCard": false, - "CustomDeck": { - "2762": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "76147b", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.785, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I've had worse...\" (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05315\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378619, - "SidewaysCard": false, - "CustomDeck": { - "3786": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "719a45", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.831, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Déjà Vu (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60531\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 5,\r\n \"traits\": \"Talent. Cursed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550829, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d40f4e", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.831, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Chainsaw (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60529\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Item. Tool. Weapon. Melee.\",\r\n \"combatIcons\": 3,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550827, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b4121c", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.823, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Farsight (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60231\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538829, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a77ce0", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.823, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Star ∙ XVII (3)", - "Description": "You Have Been Chosen", - "GMNotes": "{\r\n \"id\": \"54001\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449521, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e5cd2", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.863, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Curiosity", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05026\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430808, - "SidewaysCard": false, - "CustomDeck": { - "4308": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "29169e", - "Name": "Card", - "Transform": { - "posX": 9.137, - "posY": 3.863, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shortcut (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03232\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585308, - "SidewaysCard": false, - "CustomDeck": { - "5853": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "64e131", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.849, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blood Pact (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02191\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 3,\r\n \"traits\": \"Spell. Pact.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230348, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9f76ec", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.832, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Twila Katherine Price (3)", - "Description": "Lost in a Dream", - "GMNotes": "{\r\n \"id\": \"06244\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Artist. Dreamer.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448034, - "SidewaysCard": false, - "CustomDeck": { - "4480": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "20c8a9", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.832, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Hierophant ∙ V (3)", - "Description": "Your True Master Awaits", - "GMNotes": "{\r\n \"id\": \"54007\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449527, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "591789", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.813, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Recharge (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60429\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 3,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538727, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2e5b03", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.813, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Death ∙ XIII (1)", - "Description": "Free from the Past", - "GMNotes": "{\r\n \"id\": \"05027\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 290207, - "SidewaysCard": false, - "CustomDeck": { - "2902": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d099f4", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.789, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sneak By", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60316\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538614, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e80bd8", - "Name": "Card", - "Transform": { - "posX": 9.138, - "posY": 3.789, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Moon ∙ XVIII (1)", - "Description": "Message from Your Inner Self", - "GMNotes": "{\r\n \"id\": \"05031\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527605, - "SidewaysCard": false, - "CustomDeck": { - "5276": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7bcaf3", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.763, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Devil ∙ XV", - "Description": "Your Shadow Hungers", - "GMNotes": "{\r\n \"id\": \"54015\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Omen. Tarot.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"Return to the Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449534, - "SidewaysCard": false, - "CustomDeck": { - "4495": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706766470010/D835D3A12B12173C78B2FFA055FEFD6042AEDD38/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "86b9c5", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.763, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Plucky (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03115\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Talent. Composure.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368834, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8ffa44", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.734, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "One-Two Punch (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60132\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 5,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"combatIcons\": 4,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545330, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2d362c", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.734, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lightning Gun (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02301\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 6,\r\n \"level\": 5,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226361, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c077bf", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.701, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Against All Odds (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04202\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368850, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "87226d", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.701, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sacred Covenant (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07110\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"level\": 2,\r\n \"traits\": \"Covenant. Blessed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553102, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "52a66f", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.716, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Granny Orne (3)", - "Description": "Tough Old Bird", - "GMNotes": "{\r\n \"id\": \"60527\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Ally.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550825, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "565b6b", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.716, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strange Solution", - "Description": "Unidentified", - "GMNotes": "{\r\n \"id\": \"02021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Science.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368422, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5a305e", - "Name": "Card", - "Transform": { - "posX": 9.139, - "posY": 3.716, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Colt Vest Pocket", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04268\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 276101, - "SidewaysCard": false, - "CustomDeck": { - "2761": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9229a8", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.727, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Henry Armitage", - "Description": "The Head Librarian", - "GMNotes": "{\r\n \"id\": \"02040\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588913, - "SidewaysCard": false, - "CustomDeck": { - "5889": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c026c9", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.727, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".32 Colt (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52001\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440922, - "SidewaysCard": false, - "CustomDeck": { - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dfbc13", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.685, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leather Jacket", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60310\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Armor.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538608, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4874bc", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.685, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strange Solution (4)", - "Description": "Restorative Concoction", - "GMNotes": "{\r\n \"id\": \"02262\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Science.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430656, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d0de54", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.684, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchanted Blade (3)", - "Description": "Mystic", - "GMNotes": "{\r\n \"id\": \"05193\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293314, - "SidewaysCard": false, - "CustomDeck": { - "2933": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5c3dd0", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.684, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Say Your Prayers", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03116\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Desperate.\",\r\n \"willpowerIcons\": 4,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368501, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "731d2a", - "Name": "Card", - "Transform": { - "posX": 9.14, - "posY": 3.681, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Adaptable (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02110\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315232, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d971e", - "Name": "Card", - "Transform": { - "posX": 9.141, - "posY": 3.684, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Survival Knife", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04017\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226322, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c6caf6", - "Name": "Card", - "Transform": { - "posX": 9.141, - "posY": 3.684, - "posZ": -16.724, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ineffable Truth", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60409\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538707, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fe0cc0", - "Name": "Card", - "Transform": { - "posX": 9.141, - "posY": 3.683, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".45 Automatic (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03190\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226347, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "63f145", - "Name": "Card", - "Transform": { - "posX": 9.141, - "posY": 3.683, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Opportunist (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02231\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315241, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1cd2bd", - "Name": "Card", - "Transform": { - "posX": 9.141, - "posY": 3.729, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moonlight Ritual", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02267\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230306, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f0e425", - "Name": "Card", - "Transform": { - "posX": 9.141, - "posY": 3.729, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dumb Luck", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04034\",\r\n \"alternate_ids\": [\r\n \"60514\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368814, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "96b5ed", - "Name": "Card", - "Transform": { - "posX": 9.142, - "posY": 3.722, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Perception (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60228\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"intellectIcons\": 3,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538826, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45d2d2", - "Name": "Card", - "Transform": { - "posX": 9.142, - "posY": 3.722, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Uncage the Soul", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03033\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230305, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da227d", - "Name": "Card", - "Transform": { - "posX": 9.142, - "posY": 3.712, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Thing That Follows", - "Description": "Enemy", - "GMNotes": "{\r\n \"id\": \"03042\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Curse.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431115, - "SidewaysCard": false, - "CustomDeck": { - "4311": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "44334c", - "Name": "Card", - "Transform": { - "posX": 9.142, - "posY": 3.712, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Puzzle Box", - "Description": "Mysterious Device", - "GMNotes": "{\r\n \"id\": \"05228\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Relic.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 312510, - "SidewaysCard": false, - "CustomDeck": { - "3125": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/786356000879761873/F22612DB451928DCA4344F3F125F5A8CE128A817/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7c958e", - "Name": "Card", - "Transform": { - "posX": 9.142, - "posY": 3.749, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jake Williams", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 377343, - "SidewaysCard": false, - "CustomDeck": { - "3773": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "600a3c", - "Name": "Card", - "Transform": { - "posX": 9.143, - "posY": 3.732, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Stars Are Right", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06028\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Augury.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 443723, - "SidewaysCard": false, - "CustomDeck": { - "4437": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/sRsWiSG.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3df5fb", - "Name": "Card", - "Transform": { - "posX": 9.143, - "posY": 3.732, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Evidence! (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60120\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545318, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4e1d91", - "Name": "Card", - "Transform": { - "posX": 9.143, - "posY": 3.763, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Steadfast", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05022\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431006, - "SidewaysCard": false, - "CustomDeck": { - "4310": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "17319c", - "Name": "Card", - "Transform": { - "posX": 9.143, - "posY": 3.74, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Azure Flame", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60407\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538705, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e4688b", - "Name": "Card", - "Transform": { - "posX": 9.143, - "posY": 3.74, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daredevil", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60318\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538616, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e89f48", - "Name": "Card", - "Transform": { - "posX": 9.143, - "posY": 3.74, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blade of Ark'at", - "Description": "Shellblade Tribute", - "GMNotes": "{\r\n \"id\": \"86054\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 582629, - "SidewaysCard": false, - "CustomDeck": { - "5826": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600953065965648/5A0D88CCA811A490C2FEF2675A397E1CEE010870/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a4d22", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.764, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Forbidden Tome", - "Description": "Untranslated", - "GMNotes": "{\r\n \"id\": \"60210\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538808, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f2489", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.764, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dayana Esperence (3)", - "Description": "Deals with \"Devils\"", - "GMNotes": "{\r\n \"id\": \"05279\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Witch.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379616, - "SidewaysCard": false, - "CustomDeck": { - "3796": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e81861", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.764, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Awakened Mantle", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07180\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Relic. Clothing.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 451113, - "SidewaysCard": false, - "CustomDeck": { - "4511": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "785f68", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.784, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hoods", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05017\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Cultist.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378863, - "SidewaysCard": false, - "CustomDeck": { - "3788": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa777f", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.784, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Foolishness", - "Description": "", - "GMNotes": "{\r\n \"id\": \"98011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Ally. Creature. Dreamlands.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230502, - "SidewaysCard": false, - "CustomDeck": { - "2305": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9b0dcf", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.752, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pendant of the Queen", - "Description": "Of Nothing at All", - "GMNotes": "{\r\n \"id\": \"06022\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Item. Relic.\",\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 441027, - "SidewaysCard": false, - "CustomDeck": { - "4410": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc8321", - "Name": "Card", - "Transform": { - "posX": 9.144, - "posY": 3.752, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Under Surveillance (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07157\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tactic. Trap.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232105, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e69708", - "Name": "Card", - "Transform": { - "posX": 9.145, - "posY": 3.716, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Enlightenment", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60205\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538803, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7f1b48", - "Name": "Card", - "Transform": { - "posX": 9.145, - "posY": 3.716, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hypnotic Therapy", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05007\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 591753, - "SidewaysCard": false, - "CustomDeck": { - "5917": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1ac667", - "Name": "Card", - "Transform": { - "posX": 9.145, - "posY": 3.727, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Practice Makes Perfect", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06197\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Gambit. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447832, - "SidewaysCard": false, - "CustomDeck": { - "4478": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "037b2e", - "Name": "Card", - "Transform": { - "posX": 9.145, - "posY": 3.685, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lesson Learned (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60124\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Insight. Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545322, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3a85c4", - "Name": "Card", - "Transform": { - "posX": 9.145, - "posY": 3.685, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hallow (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07301-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585607, - "SidewaysCard": false, - "CustomDeck": { - "5856": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ff59dd", - "Name": "Card", - "Transform": { - "posX": 9.146, - "posY": 3.684, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Surprising Find (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06278\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 1,\r\n \"traits\": \"Fortune. Research.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448838, - "SidewaysCard": false, - "CustomDeck": { - "4488": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1fd630", - "Name": "Card", - "Transform": { - "posX": 9.146, - "posY": 3.684, - "posZ": -16.725, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tristan Botley (2)", - "Description": "Fixer for Hire", - "GMNotes": "{\r\n \"id\": \"07194\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 5,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Criminal. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588705, - "SidewaysCard": false, - "CustomDeck": { - "5887": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1762566393205073673/1FABAC4DD6EF3706D8C8285A256A13F43AE6B1E1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "678391", - "Name": "Card", - "Transform": { - "posX": 9.146, - "posY": 3.681, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Serpents of Yig", - "Description": "Humanoid. Monster. Serpent.", - "GMNotes": "{\r\n \"id\": \"04014\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Monster. Serpent.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232837, - "SidewaysCard": false, - "CustomDeck": { - "2328": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/SerpentsofYig\")\nend)\n__bundle_register(\"playercards/cards/SerpentsofYig\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Elder Sign\"] = true\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dbdaff", - "Name": "Card", - "Transform": { - "posX": 9.146, - "posY": 3.674, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Roland's .38 Special", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536205, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ecfa42", - "Name": "Card", - "Transform": { - "posX": 9.147, - "posY": 3.672, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Chicago Typewriter (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02304\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 5,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315260, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bba97a", - "Name": "Card", - "Transform": { - "posX": 9.147, - "posY": 3.672, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Healing Words", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06163\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 380127, - "SidewaysCard": false, - "CustomDeck": { - "3801": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b9fbff", - "Name": "Card", - "Transform": { - "posX": 9.147, - "posY": 3.672, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Siren Call", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"07016\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585110, - "SidewaysCard": false, - "CustomDeck": { - "5851": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8dce44", - "Name": "Card", - "Transform": { - "posX": 9.147, - "posY": 3.767, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crack the Case", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05110\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277812, - "SidewaysCard": false, - "CustomDeck": { - "2778": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1890d0", - "Name": "Card", - "Transform": { - "posX": 9.147, - "posY": 3.767, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stars of Hyades", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03013\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374115, - "SidewaysCard": false, - "CustomDeck": { - "3741": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f10690", - "Name": "Card", - "Transform": { - "posX": 9.147, - "posY": 3.767, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fey (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07222\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 579402, - "SidewaysCard": false, - "CustomDeck": { - "5794": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191219101327/797556CAC112D6D289B3A5D3A28433C9F0999CB5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9cbac1", - "Name": "Card", - "Transform": { - "posX": 9.148, - "posY": 3.859, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Seal of the Seventh Sign (5)", - "Description": "Over the Threshold and Beyond", - "GMNotes": "{\r\n \"id\": \"04311\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Spell. Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 7,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 278101, - "SidewaysCard": false, - "CustomDeck": { - "2781": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/SealoftheSeventhSign5\")\nend)\n__bundle_register(\"playercards/cards/SealoftheSeventhSign5\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Auto-fail\"] = true\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "29b842", - "Name": "Card", - "Transform": { - "posX": 9.149, - "posY": 3.834, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rite of Seeking", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02028\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230329, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e2987", - "Name": "Card", - "Transform": { - "posX": 9.149, - "posY": 3.834, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Venturer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04018\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226332, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d2cd42", - "Name": "CardCustom", - "Transform": { - "posX": 9.149, - "posY": 3.866, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Skeptic (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07115\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550100, - "SidewaysCard": false, - "CustomDeck": { - "5501": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1537373966843940006/71700050B0B2CD56C458047D94B9E605ED01B989/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "812685", - "Name": "Card", - "Transform": { - "posX": 9.15, - "posY": 3.896, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Devil's Luck (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03157\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Fortune.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368835, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "423d46", - "Name": "Card", - "Transform": { - "posX": 9.15, - "posY": 3.896, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "St. Hubert's Key", - "Description": "Cleansing Fire", - "GMNotes": "{\r\n \"id\": \"03269\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230331, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "06322f", - "Name": "Card", - "Transform": { - "posX": 9.15, - "posY": 3.896, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Terrible Secret", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05015\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527561, - "SidewaysCard": false, - "CustomDeck": { - "5275": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dacbf0", - "Name": "Card", - "Transform": { - "posX": 9.15, - "posY": 3.972, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fortuitous Discovery", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06034\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Insight.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440627, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "982716", - "Name": "Card", - "Transform": { - "posX": 9.15, - "posY": 3.972, - "posZ": -16.726, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Manual Dexterity (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60325\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538623, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aafc17", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 3.994, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bloodlust", - "Description": "Treachery", - "GMNotes": "{\r\n \"id\": \"06019\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440925, - "SidewaysCard": false, - "CustomDeck": { - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ce113", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 3.994, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancient Ankh", - "Description": "Item. Relic.", - "GMNotes": "{\r\n \"id\": \"83056\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 454741, - "SidewaysCard": false, - "CustomDeck": { - "4547": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218921670/8EF5B59C1AC4559A3947140F08010D8B014A11E9/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218923075/6DE3A0F2FBB17DAA8374540DBE43CE6BD65EB541/", - "NumWidth": 10, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1f50e9", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 3.994, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Randall Cho", - "Description": "Concerned Brother", - "GMNotes": "{\r\n \"id\": \"60102\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Medic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585024, - "SidewaysCard": false, - "CustomDeck": { - "5850": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e454c3", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 4.064, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Well-Maintained (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05152\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Upgrade.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 278012, - "SidewaysCard": false, - "CustomDeck": { - "2780": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48c9ff", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 4.064, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Joey \"The Rat\" Vigil (3)", - "Description": "Lookin' Out For #1", - "GMNotes": "{\r\n \"id\": \"06326\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449036, - "SidewaysCard": false, - "CustomDeck": { - "4490": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d88407", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 4.13, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lure (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02156\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368836, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "92c295", - "Name": "Card", - "Transform": { - "posX": 9.151, - "posY": 4.13, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Radiant Smite (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07153\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Spell. Spirit. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 232101, - "SidewaysCard": false, - "CustomDeck": { - "2321": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600400212405700/559F1F3EF87BDF7F067F9B7011EDC3A6ACE71259/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 5, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/RadiantSmite1\")\nend)\n__bundle_register(\"playercards/cards/RadiantSmite1\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Bless\"] = true\r\n}\r\n\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b0c61c", - "Name": "Card", - "Transform": { - "posX": 9.152, - "posY": 4.143, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On Your Own (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04236\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368858, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "491c09", - "Name": "Card", - "Transform": { - "posX": 9.152, - "posY": 4.103, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Righteous Hunt (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07109\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Tactic. Blessed.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553101, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "06228f", - "Name": "Card", - "Transform": { - "posX": 9.153, - "posY": 4.06, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stroke of Luck (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02271\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Fortune.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368843, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eafd12", - "Name": "Card", - "Transform": { - "posX": 9.153, - "posY": 4.06, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blood-Rite", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05317\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 591621, - "SidewaysCard": false, - "CustomDeck": { - "5916": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d8a324", - "Name": "Card", - "Transform": { - "posX": 9.153, - "posY": 4.114, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I'm done runnin'!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05016\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378762, - "SidewaysCard": false, - "CustomDeck": { - "3787": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9b9e8b", - "Name": "Card", - "Transform": { - "posX": 9.153, - "posY": 4.114, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Calling in Favors", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03158\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Favor.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368510, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "833501", - "Name": "Card", - "Transform": { - "posX": 9.154, - "posY": 4.112, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Higher Education (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02187-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450604, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c1a687", - "Name": "Card", - "Transform": { - "posX": 9.154, - "posY": 4.112, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tooth of Eztli", - "Description": "Mortal Reminder", - "GMNotes": "{\r\n \"id\": \"04023\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368432, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c32e40", - "Name": "Card", - "Transform": { - "posX": 9.155, - "posY": 4.156, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".35 Winchester", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06195\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583200, - "SidewaysCard": false, - "CustomDeck": { - "5832": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf96b9", - "Name": "Card", - "Transform": { - "posX": 9.155, - "posY": 4.156, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Summoned Nightgaunt", - "Description": "Monster. Nightgaunt. Power.", - "GMNotes": "{\r\n \"id\": \"83058\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"traits\": \"Monster. Nightgaunt. Power.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 546917, - "SidewaysCard": false, - "CustomDeck": { - "5469": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218960581/4546AD2542BDA831A52F111505063691712EE74F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1747933191218961222/32A8F41F3FDA4387C71BA2668B2645E36EDAE74D/", - "NumWidth": 10, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eff3c8", - "Name": "Card", - "Transform": { - "posX": 9.155, - "posY": 4.147, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Self-Centered", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"06035\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438125, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a6af13", - "Name": "Card", - "Transform": { - "posX": 9.155, - "posY": 4.147, - "posZ": -16.727, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lupara (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03309\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315255, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b6506d", - "Name": "Card", - "Transform": { - "posX": 9.156, - "posY": 4.184, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Fool me once...\" (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06156\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379830, - "SidewaysCard": false, - "CustomDeck": { - "3798": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "52c686", - "Name": "Card", - "Transform": { - "posX": 9.156, - "posY": 4.184, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flesh Ward", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60106\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545304, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d2663c", - "Name": "Card", - "Transform": { - "posX": 9.156, - "posY": 4.169, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hemispheric Map (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04275\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261101, - "SidewaysCard": false, - "CustomDeck": { - "2611": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "122e98", - "Name": "Card", - "Transform": { - "posX": 9.156, - "posY": 4.169, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucid Dreaming (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06205\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527312, - "SidewaysCard": false, - "CustomDeck": { - "5273": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025942034/FEADE7F6206804B42CC9B6049F51EDF6040C5D1D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3a0df6", - "Name": "Card", - "Transform": { - "posX": 9.156, - "posY": 4.15, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scientific Theory (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03109\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Talent. Composure.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430638, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0f32e8", - "Name": "Card", - "Transform": { - "posX": 9.156, - "posY": 4.15, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Run For Your Life", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03119\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Desperate.\",\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368505, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "436401", - "Name": "CardCustom", - "Transform": { - "posX": 9.157, - "posY": 4.178, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancient Covenant (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07122\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Covenant. Blessed.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 546400, - "SidewaysCard": false, - "CustomDeck": { - "5464": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1597044073918730334/45D2725C3553953A73DAFBEF631E78D459716EA7/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5f9cb", - "Name": "Card", - "Transform": { - "posX": 9.157, - "posY": 4.178, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream Diary (3)", - "Description": "Dreams of a Madman", - "GMNotes": "{\r\n \"id\": \"06237\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome. Charm.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06113\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447835, - "SidewaysCard": false, - "CustomDeck": { - "4478": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a5be8b", - "Name": "Card", - "Transform": { - "posX": 9.157, - "posY": 4.178, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unspeakable Oath (Bloodthirst)", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"52011\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness. Pact.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"hidden\": true,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 438124, - "SidewaysCard": false, - "CustomDeck": { - "4381": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bc80ab", - "Name": "Card", - "Transform": { - "posX": 9.157, - "posY": 4.193, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "First Aid (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03230\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Science.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226353, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2136a", - "Name": "Card", - "Transform": { - "posX": 9.158, - "posY": 4.16, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets (Taboo)", - "Description": "Seeker", - "GMNotes": "{\r\n \"id\": \"05116-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450621, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2136a", - "Name": "Card", - "Transform": { - "posX": 9.158, - "posY": 4.16, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets (3) (Taboo)", - "Description": "Seeker", - "GMNotes": "{\r\n \"id\": \"05188-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450622, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "15643b", - "Name": "Card", - "Transform": { - "posX": 9.158, - "posY": 4.155, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hard Knocks (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50005\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315242, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cf1d4e", - "Name": "Card", - "Transform": { - "posX": 9.158, - "posY": 4.15, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Slip Away", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04232\",\r\n \"alternate_ids\": [\r\n \"60314\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368714, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "59d89b", - "Name": "Card", - "Transform": { - "posX": 9.158, - "posY": 4.154, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Oops!", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02113\",\r\n \"alternate_ids\": [\r\n \"60518\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368815, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e701af", - "Name": "Card", - "Transform": { - "posX": 9.159, - "posY": 4.165, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Day of Reckoning", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"07040\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Endtimes.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586334, - "SidewaysCard": false, - "CustomDeck": { - "5863": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/DayofReckoning\")\nend)\n__bundle_register(\"playercards/cards/DayofReckoning\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Elder Sign\"] = true\r\n}\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f9de4", - "Name": "Card", - "Transform": { - "posX": 9.159, - "posY": 4.072, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Keen Eye (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02185\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226351, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e7f6a", - "Name": "Card", - "Transform": { - "posX": 9.159, - "posY": 4.067, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Galvanize (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60121\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545319, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6692de", - "Name": "Card", - "Transform": { - "posX": 9.16, - "posY": 4.017, - "posZ": -16.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crystallizer of Dreams", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06024\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 1,\r\n \"id\": \"06025\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590503, - "SidewaysCard": false, - "CustomDeck": { - "5905": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "283e54", - "Name": "Card", - "Transform": { - "posX": 9.16, - "posY": 3.968, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alchemical Transmutation (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52007\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 444020, - "SidewaysCard": false, - "CustomDeck": { - "4440": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e8b7ad", - "Name": "Card", - "Transform": { - "posX": 9.16, - "posY": 3.963, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bandolier (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51001\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 314204, - "SidewaysCard": false, - "CustomDeck": { - "3142": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "90fdb0", - "Name": "Card", - "Transform": { - "posX": 9.16, - "posY": 3.958, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Teachings of the Order", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07151\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Item. Tome.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 581922, - "SidewaysCard": false, - "CustomDeck": { - "5819": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ffa4f9", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.956, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eureka!", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03231\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368400, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ee874", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.951, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Azure Flame (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60430\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538728, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b492cb", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.896, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".45 Thompson (3)", - "Description": "Guardian", - "GMNotes": "{\r\n \"id\": \"05186\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 6,\r\n \"level\": 3,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 292813, - "SidewaysCard": false, - "CustomDeck": { - "2928": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8837ff", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.891, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "True Survivor (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03273\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368859, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dffa9d", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.886, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Belly of the Beast", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05160\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Gambit. Trick.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277911, - "SidewaysCard": false, - "CustomDeck": { - "2779": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f9a232", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.878, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bait and Switch (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05282\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590302, - "SidewaysCard": false, - "CustomDeck": { - "5903": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9565f0", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.873, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hard Knocks (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07266\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449605, - "SidewaysCard": false, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1747933191220177818/637923621F747375066D4DA39BEA3BA9C26086A5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b76c9", - "Name": "Card", - "Transform": { - "posX": 9.161, - "posY": 3.868, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scavenging", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01073\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368822, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "21664c", - "Name": "Card", - "Transform": { - "posX": 9.162, - "posY": 3.857, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Springfield M1903 (4) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02226-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584611, - "SidewaysCard": false, - "CustomDeck": { - "5846": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5839e4", - "Name": "Card", - "Transform": { - "posX": 9.162, - "posY": 3.852, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scroll of Secrets (3) (Taboo)", - "Description": "Mystic", - "GMNotes": "{\r\n \"id\": \"05189-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450623, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ef7c11", - "Name": "Card", - "Transform": { - "posX": 9.162, - "posY": 3.782, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Solemn Vow", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06020\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440926, - "SidewaysCard": false, - "CustomDeck": { - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d48b25", - "Name": "Card", - "Transform": { - "posX": 9.163, - "posY": 3.714, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Higher Education (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02187\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430649, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7a33b2", - "Name": "Card", - "Transform": { - "posX": 9.163, - "posY": 3.71, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shrivelling (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02306\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230361, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1a94ad", - "Name": "Card", - "Transform": { - "posX": 9.163, - "posY": 3.705, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dreaded End", - "Description": "Gift of the Void", - "GMNotes": "{\r\n \"id\": \"86053\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587828, - "SidewaysCard": false, - "CustomDeck": { - "5878": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655600953065965648/5A0D88CCA811A490C2FEF2675A397E1CEE010870/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "244d61", - "Name": "Card", - "Transform": { - "posX": 9.163, - "posY": 3.679, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Key of Ys (5) (Taboo)", - "Description": "Let the Storm Rage", - "GMNotes": "{\r\n \"id\": \"03315-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450619, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6f6f1", - "Name": "Card", - "Transform": { - "posX": 9.164, - "posY": 3.605, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nightmare Bauble (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06330\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Charm. Cursed.\",\r\n \"bonded\": [\r\n {\r\n \"count\": 3,\r\n \"id\": \"06331\"\r\n }\r\n ],\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448735, - "SidewaysCard": false, - "CustomDeck": { - "4487": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c17f2c", - "Name": "Card", - "Transform": { - "posX": 9.164, - "posY": 3.523, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Forewarned (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03150\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430636, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a00fca", - "Name": "Card", - "Transform": { - "posX": 9.164, - "posY": 3.518, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Banish (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05113\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 277509, - "SidewaysCard": false, - "CustomDeck": { - "2775": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd4e2a", - "Name": "Card", - "Transform": { - "posX": 9.164, - "posY": 3.437, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Four of Cups (1)", - "Description": "Chalice of the Heart", - "GMNotes": "{\r\n \"id\": \"05035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Tarot.\",\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430905, - "SidewaysCard": false, - "CustomDeck": { - "4309": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d8705c", - "Name": "Card", - "Transform": { - "posX": 9.164, - "posY": 3.433, - "posZ": -16.729, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Angered Spirits", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03015\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374717, - "SidewaysCard": false, - "CustomDeck": { - "3747": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "26398a", - "Name": "Card", - "Transform": { - "posX": 9.165, - "posY": 3.394, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pet Oozeling", - "Description": "", - "GMNotes": "{\r\n \"id\": \"85030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Monster. Ooze.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 233605, - "SidewaysCard": false, - "CustomDeck": { - "2336": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/784129708171655462/0B7EFEEA9A53B93350FEC7F68F39A20D1D6580A9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3feff1", - "Name": "Card", - "Transform": { - "posX": 9.165, - "posY": 3.39, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Armageddon", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07117\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Cursed.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 553109, - "SidewaysCard": false, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280867313/BFD2AF968EAC917D3B838DCB8B1656941CD8B5CC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d96e4b", - "Name": "Card", - "Transform": { - "posX": 9.165, - "posY": 3.303, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strange Solution (4)", - "Description": "Empowering Elixir", - "GMNotes": "{\r\n \"id\": \"51004\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Science.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 313905, - "SidewaysCard": false, - "CustomDeck": { - "3139": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2ccf8", - "Name": "Card", - "Transform": { - "posX": 9.165, - "posY": 3.298, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eucatastrophe (3) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05324-t\",\r\n \"alternate_ids\": [\r\n \"01692-t\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Fortune. Blessed.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 585705, - "SidewaysCard": false, - "CustomDeck": { - "5857": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ec9bf", - "Name": "Card", - "Transform": { - "posX": 9.165, - "posY": 3.293, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Suggestion (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52006\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440721, - "SidewaysCard": false, - "CustomDeck": { - "4407": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025944587/520448D0E9C22F102C7DDF64322EAD6FC221ECC8/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "acb83a", - "Name": "Card", - "Transform": { - "posX": 9.166, - "posY": 3.249, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unexpected Courage", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01093\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368508, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a390e", - "Name": "Card", - "Transform": { - "posX": 9.166, - "posY": 3.244, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Perseverance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04111\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368817, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ba0fe7", - "Name": "Card", - "Transform": { - "posX": 9.166, - "posY": 3.231, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Time Warp (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03311\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Paradox.\",\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 583810, - "SidewaysCard": false, - "CustomDeck": { - "5838": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0994c9", - "Name": "Card", - "Transform": { - "posX": 9.166, - "posY": 3.226, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Directive", - "Description": "Seek the Truth", - "GMNotes": "{\r\n \"id\": \"90028\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536203, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f0389b", - "Name": "Card", - "Transform": { - "posX": 9.167, - "posY": 3.202, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nothing Left to Lose (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06284\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448738, - "SidewaysCard": false, - "CustomDeck": { - "4487": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2c7ef", - "Name": "Card", - "Transform": { - "posX": 9.167, - "posY": 3.198, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Eat lead!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"52002\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to the Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440923, - "SidewaysCard": false, - "CustomDeck": { - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "695bb7", - "Name": "Card", - "Transform": { - "posX": 9.167, - "posY": 3.181, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Zeal", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"traits\": \"Ally. Creature. Dreamlands.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440625, - "SidewaysCard": false, - "CustomDeck": { - "4406": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8f170b", - "Name": "Card", - "Transform": { - "posX": 9.167, - "posY": 3.176, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flamethrower (5) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04305-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450608, - "SidewaysCard": false, - "CustomDeck": { - "4506": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656721113609569419/60B1DFC7C68C406C34641A1F53078F46D610821C/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e27b3c", - "Name": "Card", - "Transform": { - "posX": 9.167, - "posY": 3.172, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Recharge (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03197\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230339, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bd3ecc", - "Name": "Card", - "Transform": { - "posX": 9.168, - "posY": 3.197, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Combat Training (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03107\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Talent. Composure.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226335, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07e7bd", - "Name": "Card", - "Transform": { - "posX": 9.169, - "posY": 3.175, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Directive", - "Description": "Leave No Doubt", - "GMNotes": "{\r\n \"id\": \"90029\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536204, - "SidewaysCard": false, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761486024/CC7FAD210F216229F1A721BF648855D156F052D5/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ba2ae1", - "Name": "Card", - "Transform": { - "posX": 9.169, - "posY": 3.17, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Doomed", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"04040\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 440814, - "SidewaysCard": false, - "CustomDeck": { - "4408": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8595fb", - "Name": "Card", - "Transform": { - "posX": 9.169, - "posY": 3.144, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Higher Education", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60211\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538809, - "SidewaysCard": false, - "CustomDeck": { - "5388": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546381162227145538/0F253FC5301911273C32210992261DD1D2EBB578/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "477e79", - "Name": "Card", - "Transform": { - "posX": 9.169, - "posY": 3.139, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guided by the Unseen (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07223\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 590706, - "SidewaysCard": false, - "CustomDeck": { - "5907": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b0f86", - "Name": "Card", - "Transform": { - "posX": 9.169, - "posY": 3.134, - "posZ": -16.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Get over here!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60114\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545312, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ad58aa", - "Name": "Card", - "Transform": { - "posX": 9.17, - "posY": 3.155, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mind's Eye (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06328\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527237, - "SidewaysCard": false, - "CustomDeck": { - "5272": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc2629", - "Name": "Card", - "Transform": { - "posX": 9.17, - "posY": 3.15, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Eat lead!\" (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03304\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226342, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "219c78", - "Name": "Card", - "Transform": { - "posX": 9.17, - "posY": 3.118, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guts (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60424\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"willpowerIcons\": 3,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538722, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0db666", - "Name": "Card", - "Transform": { - "posX": 9.17, - "posY": 3.109, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Borrowed Time (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04308\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315253, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc5b38", - "Name": "Card", - "Transform": { - "posX": 9.171, - "posY": 3.123, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Price of Failure", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"04039\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 537612, - "SidewaysCard": false, - "CustomDeck": { - "5376": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8843c", - "Name": "Card", - "Transform": { - "posX": 9.171, - "posY": 3.08, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nimble", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60317\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538615, - "SidewaysCard": false, - "CustomDeck": { - "5386": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298037683/22C99DD745DFF65ECC72FD32EFA9C9D0F0C12862/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "943332", - "Name": "Card", - "Transform": { - "posX": 9.171, - "posY": 3.075, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ineffable Truth (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60427\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 538725, - "SidewaysCard": false, - "CustomDeck": { - "5387": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456297472038/B38A78EF27EBE0BDE1B36958D297701505AB936A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "215cec", - "Name": "Card", - "Transform": { - "posX": 9.172, - "posY": 3.033, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cherished Keepsake", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03114\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368821, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eea4ef", - "Name": "Card", - "Transform": { - "posX": 9.172, - "posY": 3.028, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Well Prepared (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04151\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226345, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "272e6c", - "Name": "Card", - "Transform": { - "posX": 9.172, - "posY": 3.024, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Ritual", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07026\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ritual. Cursed.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 554120, - "SidewaysCard": false, - "CustomDeck": { - "5541": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/DarkRitual\")\nend)\n__bundle_register(\"playercards/cards/DarkRitual\", function(require, _LOADED, __bundle_register, __bundle_modules)\nVALID_TOKENS = {\r\n [\"Curse\"] = true\r\n}\r\n\r\nKEEP_OPEN = true\r\n\r\nrequire(\"playercards/CardsThatSealTokens\")\r\nend)\n__bundle_register(\"playercards/CardsThatSealTokens\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[ Library for cards that seal tokens\r\nThis file is used to add sealing option to cards' context menu.\r\nValid options (set before requiring this file):\r\n\r\nUPDATE_ON_HOVER --@type: boolean\r\n - automatically updates the context menu options when the card is hovered\r\n - the \"Read Bag\" function reads the content of the chaos bag to update the context menu\r\n - example usage: \"Unrelenting\" (to only display valid tokens)\r\n\r\nKEEP_OPEN --@type: boolean\r\n- meant for cards that seal single tokens multiple times (one by one)\r\n- makes the context menu stay open after selecting an option\r\n- example usage: \"Unrelenting\"\r\n\r\nSHOW_SINGLE_RELEASE --@type: boolean\r\n - enables an entry in the context menu\r\n - this entry allows releasing a single token\r\n - example usage: \"Holy Spear\" (to keep the other tokens and just release one)\r\n\r\nSHOW_MULTI_RELEASE --@type: number (amount of tokens to release at once)\r\n - enables an entry in the context menu\r\n - this entry allows releasing of multiple tokens at once\r\n - example usage: \"Nephthys\" (to release 3 bless tokens at once)\r\n\r\nSHOW_MULTI_SEAL --@type: number (amount of tokens to seal at once)\r\n - enables an entry in the context menu\r\n - this entry allows sealing of multiple tokens at once\r\n - example usage: \"Holy Spear\" (to seal two bless tokens at once)\r\n\r\nVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens should be abled to be sealed\r\n - needs to be defined for each card -> even if empty\r\n - example usage: \"The Chthonian Stone\"\r\n > VALID_TOKENS = {\r\n > [\"Skull\"] = true,\r\n > [\"Cultist\"] = true,\r\n > [\"Tablet\"] = true,\r\n > [\"Elder Thing\"] = true,\r\n > }\r\n\r\nINVALID_TOKENS --@type: table ([tokenName] = true)\r\n - this table defines which tokens are invalid for sealing\r\n - only needs to be defined if needed\r\n - usually combined with empty \"VALID_TOKENS\" table\r\n - example usage: \"Protective Incantation\" (not allowed to seal Auto-fail)\r\n\r\n----------------------------------------------------------\r\nExample 1: Crystalline Elder Sign\r\nThis card can only seal the \"+1\" or \"Elder Sign\" token,\r\nit does not need specific options for multi-sealing or releasing.\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"+1\"] = true,\r\n > [\"Elder Sign\"] = true\r\n > }\r\n > require...\r\n----------------------------------------------------------\r\nExample 2: Holy Spear\r\nThis card features the following abilities (just listing the relevant parts):\r\n- releasing a single bless token\r\n- sealing two bless tokens\r\nThus it should be implemented like this:\r\n > VALID_TOKENS = {\r\n > [\"Bless\"] = true\r\n > }\r\n > SHOW_SINGLE_RELEASE = true\r\n > SHOW_MULTI_SEAL = 2\r\n > require...\r\n----------------------------------------------------------]]\r\n\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal tokenArrangerApi = require(\"accessories/TokenArrangerApi\")\r\nlocal sealedTokens = {}\r\nlocal ID_URL_MAP = {}\r\nlocal tokensInBag = {}\r\n\r\nfunction onSave() return JSON.encode(sealedTokens) end\r\n\r\nfunction onLoad(savedData)\r\n sealedTokens = JSON.decode(savedData) or {}\r\n ID_URL_MAP = Global.getTable(\"ID_URL_MAP\")\r\n generateContextMenu()\r\n self.addTag(\"CardThatSeals\")\r\nend\r\n\r\n-- builds the context menu\r\nfunction generateContextMenu()\r\n -- conditional single or multi release options\r\n if SHOW_SINGLE_RELEASE then\r\n self.addContextMenuItem(\"Release token\", releaseOneToken)\r\n elseif SHOW_MULTI_RELEASE then\r\n self.addContextMenuItem(\"Release \" .. SHOW_MULTI_RELEASE .. \" token(s)\", releaseMultipleTokens)\r\n else\r\n self.addContextMenuItem(\"Release token(s)\", releaseAllTokens)\r\n end\r\n\r\n -- main context menu options to seal tokens\r\n for _, map in pairs(ID_URL_MAP) do\r\n if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then\r\n if not SHOW_MULTI_SEAL then\r\n self.addContextMenuItem(\"Seal \" .. map.name, function(playerColor)\r\n sealToken(map.name, playerColor)\r\n end, KEEP_OPEN)\r\n else\r\n self.addContextMenuItem(\"Seal \" .. SHOW_MULTI_SEAL .. \" \" .. map.name, function(playerColor)\r\n readBag()\r\n local allowed = true\r\n local notFound\r\n\r\n for name, _ in pairs(VALID_TOKENS) do\r\n if (tokensInBag[name] or 0) < SHOW_MULTI_SEAL then\r\n allowed = false\r\n notFound = name\r\n end\r\n end\r\n\r\n if allowed then\r\n for i = 1, SHOW_MULTI_SEAL do\r\n sealToken(map.name, playerColor)\r\n end\r\n else\r\n printToColor(\"Not enough \" .. notFound .. \" tokens in the chaos bag.\", playerColor)\r\n end\r\n end)\r\n end\r\n end\r\n end\r\nend\r\n\r\n-- generates a list of chaos tokens that is in the chaos bag\r\nfunction readBag()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n tokensInBag = {}\r\n\r\n for _, token in ipairs(chaosbag.getObjects()) do\r\n tokensInBag[token.name] = (tokensInBag[token.name] or 0) + 1\r\n end\r\nend\r\n\r\n-- native event from TTS - used to update the context menu for cards like \"Unrelenting\"\r\nfunction onHover()\r\n if UPDATE_ON_HOVER then\r\n readBag()\r\n self.clearContextMenu()\r\n generateContextMenu()\r\n end\r\nend\r\n\r\n-- seals the named token on this card\r\nfunction sealToken(name, playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n for i, obj in ipairs(chaosbag.getObjects()) do\r\n if obj.name == name then\r\n chaosbag.takeObject({\r\n position = self.getPosition() + Vector(0, 0.5 + 0.1 * #sealedTokens, 0),\r\n rotation = self.getRotation(),\r\n index = i - 1,\r\n smooth = false,\r\n callback_function = function(token)\r\n local guid = token.getGUID()\r\n table.insert(sealedTokens, guid)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.sealedToken(name, guid)\r\n end\r\n end\r\n })\r\n return\r\n end\r\n end\r\n printToColor(name .. \" token not found in chaos bag\", playerColor)\r\nend\r\n\r\n-- release the last sealed token\r\nfunction releaseOneToken(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token\", playerColor)\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\nend\r\n\r\n-- release multiple tokens at once\r\nfunction releaseMultipleTokens(playerColor)\r\n if SHOW_MULTI_RELEASE <= #sealedTokens then\r\n for i = 1, SHOW_MULTI_RELEASE do\r\n putTokenAway(table.remove(sealedTokens))\r\n end\r\n printToColor(\"Releasing \" .. SHOW_MULTI_RELEASE .. \" tokens\", playerColor)\r\n else\r\n printToColor(\"Not enough tokens sealed.\", playerColor)\r\n end\r\nend\r\n\r\n-- releases all sealed tokens\r\nfunction releaseAllTokens(playerColor)\r\n if not Global.call(\"canTouchChaosTokens\") then return end\r\n if #sealedTokens == 0 then\r\n printToColor(\"No sealed token(s) found\", playerColor)\r\n else\r\n printToColor(\"Releasing token(s)\", playerColor)\r\n for _, guid in ipairs(sealedTokens) do\r\n putTokenAway(guid)\r\n end\r\n sealedTokens = {}\r\n end\r\nend\r\n\r\n-- returns the token (referenced by GUID) to the chaos bag\r\nfunction putTokenAway(guid)\r\n local token = getObjectFromGUID(guid)\r\n if not token then return end\r\n\r\n local name = token.getName()\r\n local chaosbag = Global.call(\"findChaosBag\")\r\n chaosbag.putObject(token)\r\n tokenArrangerApi.layout()\r\n if name == \"Bless\" or name == \"Curse\" then\r\n blessCurseManagerApi.releasedToken(name, guid)\r\n end\r\nend\r\nend)\n__bundle_register(\"accessories/TokenArrangerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenArrangerApi = {}\r\n\r\n -- local function to call the token arranger, if it is on the table\r\n ---@param functionName String Name of the function to cal\r\n ---@param argument Variant Parameter to pass\r\n local function callIfExistent(functionName, argument)\r\n local tokenArranger = getObjectsWithTag(\"TokenArranger\")[1]\r\n if tokenArranger ~= nil then\r\n tokenArranger.call(functionName, argument)\r\n end\r\n end\r\n\r\n -- updates the token modifiers with the provided data\r\n ---@param tokenData Table Contains the chaos token metadata\r\n TokenArrangerApi.onTokenDataChanged = function(fullData)\r\n callIfExistent(\"onTokenDataChanged\", fullData)\r\n end\r\n\r\n -- deletes already laid out tokens\r\n TokenArrangerApi.deleteCopiedTokens = function()\r\n callIfExistent(\"deleteCopiedTokens\")\r\n end\r\n\r\n -- updates the laid out tokens\r\n TokenArrangerApi.layout = function()\r\n Wait.time(function() callIfExistent(\"layout\") end, 0.1)\r\n end\r\n\r\n return TokenArrangerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98c8d8", - "Name": "Card", - "Transform": { - "posX": 49.077, - "posY": 2.325, - "posZ": -96.09, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Memory", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01513\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Spell.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587209, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da207b", - "Name": "Card", - "Transform": { - "posX": 9.172, - "posY": 3.029, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Waylay", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03237\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368818, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8b46b2", - "Name": "Card", - "Transform": { - "posX": 9.173, - "posY": 2.96, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Keep Faith", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07034\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 584328, - "SidewaysCard": false, - "CustomDeck": { - "5843": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132663842/9B2F50595A754585A4DF12D6D48DC2561DC0E2C9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "394603", - "Name": "Card", - "Transform": { - "posX": 9.173, - "posY": 2.956, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Family Inheritance", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05011\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Boon.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431557, - "SidewaysCard": false, - "CustomDeck": { - "4315": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/cards/FamilyInheritance\")\nend)\n__bundle_register(\"playercards/cards/FamilyInheritance\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tokenManager = require(\"core/token/TokenManager\")\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\nlocal clickableResourceCounter = nil\r\nlocal foundTokens = 0\r\n\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Add 4 resources\", function(playerColor) add4(playerColor) end)\r\n self.addContextMenuItem(\"Take all resources\", function(playerColor) takeAll(playerColor) end)\r\n self.addContextMenuItem(\"Discard all resources\", function(playerColor) loseAll(playerColor) end)\r\nend\r\n\r\nfunction searchSelf()\r\n clickableResourceCounter = nil\r\n foundTokens = 0\r\n\r\n for _, obj in ipairs(searchArea(self.getPosition(), { 2.5, 0.5, 3.5 })) do\r\n local obj = obj.hit_object\r\n if obj.getCustomObject().image ==\r\n \"http://cloud-3.steamusercontent.com/ugc/1758068501357192910/11DDDC7EF621320962FDCF3AE3211D5EDC3D1573/\" then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif obj.getMemo() == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n return\r\n end\r\n end\r\nend\r\n\r\nfunction add4(playerColor)\r\n searchSelf()\r\n\r\n local newCount = foundTokens + 4\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n if newCount > 12 then\r\n printToColor(\"Count increased to \" .. newCount .. \" resources. Spawning clickable counter instead.\", playerColor)\r\n tokenManager.spawnResourceCounterToken(self, newCount)\r\n else\r\n tokenManager.spawnTokenGroup(self, \"resource\", newCount)\r\n end\r\n end\r\nend\r\n\r\nfunction takeAll(playerColor)\r\n searchSelf()\r\n local matColor = playmatApi.getMatColorByPosition(self.getPosition())\r\n playmatApi.gainResources(foundTokens, matColor)\r\n\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", 0)\r\n end\r\n printToColor(\"Moved \" .. foundTokens .. \" resource(s) to \" .. matColor .. \"'s resource pool.\", playerColor)\r\nend\r\n\r\nfunction loseAll(playerColor)\r\n searchSelf()\r\n\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", 0)\r\n end\r\n printToColor(\"Discarded \" .. foundTokens .. \" resource(s).\", playerColor)\r\nend\r\n\r\nfunction searchArea(origin, size)\r\n return Physics.cast({\r\n origin = origin,\r\n direction = { 0, 1, 0 },\r\n orientation = PLAY_ZONE_ROTATION,\r\n type = 3,\r\n size = size,\r\n max_distance = 1\r\n })\r\nend\r\nend)\n__bundle_register(\"core/token/TokenManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local tokenSpawnTracker = require(\"core/token/TokenSpawnTrackerApi\")\r\n local playArea = require(\"core/PlayAreaApi\")\r\n\r\n local PLAYER_CARD_TOKEN_OFFSETS = {\r\n [1] = {\r\n Vector(0, 3, -0.2)\r\n },\r\n [2] = {\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [3] = {\r\n Vector(0, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [4] = {\r\n Vector(0.4, 3, -0.9),\r\n Vector(-0.4, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [5] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.4, 3, -0.2),\r\n Vector(-0.4, 3, -0.2)\r\n },\r\n [6] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2)\r\n },\r\n [7] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0, 3, 0.5)\r\n },\r\n [8] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(-0.35, 3, 0.5),\r\n Vector(0.35, 3, 0.5)\r\n },\r\n [9] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5)\r\n },\r\n [10] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0, 3, 1.2)\r\n },\r\n [11] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(-0.35, 3, 1.2),\r\n Vector(0.35, 3, 1.2)\r\n },\r\n [12] = {\r\n Vector(0.7, 3, -0.9),\r\n Vector(0, 3, -0.9),\r\n Vector(-0.7, 3, -0.9),\r\n Vector(0.7, 3, -0.2),\r\n Vector(0, 3, -0.2),\r\n Vector(-0.7, 3, -0.2),\r\n Vector(0.7, 3, 0.5),\r\n Vector(0, 3, 0.5),\r\n Vector(-0.7, 3, 0.5),\r\n Vector(0.7, 3, 1.2),\r\n Vector(0, 3, 1.2),\r\n Vector(-0.7, 3, 1.2)\r\n }\r\n }\r\n\r\n -- stateIDs for the multi-stated resource tokens\r\n local stateTable = {\r\n [\"resource\"] = 1,\r\n [\"ammo\"] = 2,\r\n [\"bounty\"] = 3,\r\n [\"charge\"] = 4,\r\n [\"evidence\"] = 5,\r\n [\"secret\"] = 6,\r\n [\"supply\"] = 7\r\n }\r\n\r\n -- Source for tokens\r\n local TOKEN_SOURCE_GUID = \"124381\"\r\n\r\n -- Table of data extracted from the token source bag, keyed by the Memo on each token which\r\n -- should match the token type keys (\"resource\", \"clue\", etc)\r\n local tokenTemplates\r\n\r\n local DATA_HELPER_GUID = \"708279\"\r\n\r\n local playerCardData\r\n local locationData\r\n\r\n local TokenManager = { }\r\n local internal = { }\r\n\r\n -- Spawns tokens for the card. This function is built to just throw a card at it and let it do\r\n -- the work once a card has hit an area where it might spawn tokens. It will check to see if\r\n -- the card has already spawned, find appropriate data from either the uses metadata or the Data\r\n -- Helper, and spawn the tokens.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n TokenManager.spawnForCard = function(card, extraUses)\r\n if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then\r\n return\r\n end\r\n local metadata = JSON.decode(card.getGMNotes())\r\n if metadata ~= nil then\r\n internal.spawnTokensFromUses(card, extraUses)\r\n else\r\n internal.spawnTokensFromDataHelper(card)\r\n end\r\n end\r\n\r\n -- Spawns a set of tokens on the given card.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String Type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param tokenCount Number How many tokens to spawn. For damage or horror this value will be set to the\r\n -- spawned state object rather than spawning multiple tokens\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType)\r\n local optionPanel = Global.getTable(\"optionPanel\")\r\n\r\n if tokenType == \"damage\" or tokenType == \"horror\" then\r\n TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown)\r\n elseif tokenType == \"resource\" and optionPanel[\"useResourceCounters\"] then\r\n TokenManager.spawnResourceCounterToken(card, tokenCount)\r\n else\r\n TokenManager.spawnMultipleTokens(card, tokenType, tokenCount, shiftDown, subType)\r\n end\r\n end\r\n\r\n -- Spawns a single counter token and sets the value to tokenValue. Used for damage and horror\r\n -- tokens.\r\n ---@param card Object Card to spawn tokens on\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\" and \"horror\". Other\r\n -- types should use spawnMultipleTokens()\r\n ---@param tokenValue Number Value to set the damage/horror to\r\n TokenManager.spawnCounterToken = function(card, tokenType, tokenValue, shiftDown)\r\n if tokenValue < 1 or tokenValue > 50 then return end\r\n\r\n local pos = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[1][1] + Vector(0, 0, shiftDown))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, tokenType, rot, function(spawned) spawned.setState(tokenValue) end)\r\n end\r\n\r\n TokenManager.spawnResourceCounterToken = function(card, tokenCount)\r\n local pos = card.positionToWorld(card.positionToLocal(card.getPosition()) + Vector(0, 0.2, -0.5))\r\n local rot = card.getRotation()\r\n TokenManager.spawnToken(pos, \"resourceCounter\", rot, function(spawned)\r\n spawned.call(\"updateVal\", tokenCount)\r\n end)\r\n end\r\n\r\n -- Spawns a number of tokens.\r\n ---@param tokenType String type of token to spawn, valid values are resource\", \"doom\", or \"clue\".\r\n -- Other types should use spawnCounterToken()\r\n ---@param tokenCount Number How many tokens to spawn\r\n ---@param shiftDown Number An offset for the z-value of this group of tokens\r\n ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens\r\n TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType)\r\n if tokenCount < 1 or tokenCount > 12 then\r\n return\r\n end\r\n\r\n local offsets = {}\r\n if tokenType == \"clue\" then\r\n offsets = internal.buildClueOffsets(card, tokenCount)\r\n else\r\n for i = 1, tokenCount do\r\n offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i])\r\n -- Fix the y-position for the spawn, since positionToWorld considers rotation which can\r\n -- have bad results for face up/down differences\r\n offsets[i].y = card.getPosition().y + 0.15\r\n end\r\n end\r\n\r\n if shiftDown ~= nil then\r\n -- Copy the offsets to make sure we don't change the static values\r\n local baseOffsets = offsets\r\n offsets = { }\r\n for i, baseOffset in ipairs(baseOffsets) do\r\n offsets[i] = baseOffset\r\n offsets[i][3] = offsets[i][3] + shiftDown\r\n end\r\n end\r\n\r\n if offsets == nil then\r\n error(\"couldn't find offsets for \" .. tokenCount .. ' tokens')\r\n return\r\n end\r\n\r\n -- handling for not provided subtype (for example when spawning from custom data helpers)\r\n if subType == nil then\r\n subType = \"\"\r\n end\r\n \r\n -- this is used to load the correct state for additional resource tokens (e.g. \"Ammo\")\r\n local callback = nil\r\n local stateID = stateTable[string.lower(subType)]\r\n if tokenType == \"resource\" and stateID ~= nil and stateID ~= 1 then\r\n callback = function(spawned) spawned.setState(stateID) end\r\n end\r\n\r\n for i = 1, tokenCount do\r\n TokenManager.spawnToken(offsets[i], tokenType, card.getRotation(), callback)\r\n end\r\n end\r\n\r\n -- Spawns a single token at the given global position by copying it from the template bag.\r\n ---@param position Global position to spawn the token\r\n ---@param tokenType String type of token to spawn, valid values are \"damage\", \"horror\",\r\n -- \"resource\", \"doom\", or \"clue\"\r\n ---@param rotation Vector Rotation to be used for the new token. Only the y-value will be used,\r\n -- x and z will use the default rotation from the source bag\r\n ---@param callback function A callback function triggered after the new token is spawned\r\n TokenManager.spawnToken = function(position, tokenType, rotation, callback)\r\n internal.initTokenTemplates()\r\n local loadTokenType = tokenType\r\n if tokenType == \"clue\" or tokenType == \"doom\" then\r\n loadTokenType = \"clueDoom\"\r\n end\r\n if tokenTemplates[loadTokenType] == nil then\r\n error(\"Unknown token type '\" .. tokenType .. \"'\")\r\n return\r\n end\r\n local tokenTemplate = tokenTemplates[loadTokenType]\r\n\r\n -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag\r\n local rot = Vector(tokenTemplate.Transform.rotX,\r\n 270,\r\n tokenTemplate.Transform.rotZ)\r\n if rotation ~= nil then\r\n rot.y = rotation.y\r\n end\r\n if tokenType == \"doom\" then\r\n rot.z = 180\r\n end\r\n\r\n tokenTemplate.Nickname = \"\"\r\n return spawnObjectData({\r\n data = tokenTemplate,\r\n position = position,\r\n rotation = rot,\r\n callback_function = callback\r\n })\r\n end\r\n\r\n -- Checks a card for metadata to maybe replenish it\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n TokenManager.maybeReplenishCard = function(card, uses, mat)\r\n -- TODO: support for cards with multiple uses AND replenish (as of yet, no official card needs that)\r\n if uses[1].count and uses[1].replenish then\r\n internal.replenishTokens(card, uses, mat)\r\n end\r\n end\r\n\r\n -- Delegate function to the token spawn tracker. Exists to avoid circular dependencies in some\r\n -- callers.\r\n ---@param card Object Card object to reset the tokens for\r\n TokenManager.resetTokensSpawned = function(card)\r\n tokenSpawnTracker.resetTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Pushes new player card data into the local copy of the Data Helper player data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addPlayerCardData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n playerCardData[k] = v\r\n end\r\n end\r\n\r\n -- Pushes new location data into the local copy of the Data Helper location data.\r\n ---@param dataTable Table Key/Value pairs following the DataHelper style\r\n TokenManager.addLocationData = function(dataTable)\r\n internal.initDataHelperData()\r\n for k, v in pairs(dataTable) do\r\n locationData[k] = v\r\n end\r\n end\r\n\r\n -- Checks to see if the given card has location data in the DataHelper\r\n ---@param card Object Card to check for data\r\n ---@return Boolean True if this card has data in the helper, false otherwise\r\n TokenManager.hasLocationData = function(card)\r\n internal.initDataHelperData()\r\n return internal.getLocationData(card) ~= nil\r\n end\r\n\r\n internal.initTokenTemplates = function()\r\n if tokenTemplates ~= nil then\r\n return\r\n end\r\n tokenTemplates = { }\r\n local tokenSource = getObjectFromGUID(TOKEN_SOURCE_GUID)\r\n for _, tokenTemplate in ipairs(tokenSource.getData().ContainedObjects) do\r\n local tokenName = tokenTemplate.Memo\r\n tokenTemplates[tokenName] = tokenTemplate\r\n end\r\n end\r\n\r\n -- Copies the data from the DataHelper. Will only happen once.\r\n internal.initDataHelperData = function()\r\n if playerCardData ~= nil then\r\n return\r\n end\r\n local dataHelper = getObjectFromGUID(DATA_HELPER_GUID)\r\n playerCardData = dataHelper.getTable('PLAYER_CARD_DATA')\r\n locationData = dataHelper.getTable('LOCATIONS_DATA')\r\n end\r\n\r\n -- Spawn tokens for a card based on the uses metadata. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param extraUses Table A table of = which will modify the number of tokens\r\n --- spawned for that type. e.g. Akachi's playmat should pass \"Charge\"=1\r\n internal.spawnTokensFromUses = function(card, extraUses)\r\n local uses = internal.getUses(card)\r\n if uses == nil then return end\r\n\r\n -- go through tokens to spawn\r\n local type, token, tokenCount\r\n for i, useInfo in ipairs(uses) do\r\n type = useInfo.type\r\n token = useInfo.token\r\n tokenCount = (useInfo.count or 0)\r\n + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount()\r\n if extraUses ~= nil and extraUses[type] ~= nil then\r\n tokenCount = tokenCount + extraUses[type]\r\n end\r\n -- Shift each spawned group after the first down so they don't pile on each other\r\n TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type)\r\n end\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state\r\n -- of the card for both locations and standard cards.\r\n ---@param card Object Card to maybe spawn tokens for\r\n internal.spawnTokensFromDataHelper = function(card)\r\n internal.initDataHelperData()\r\n local playerData = internal.getPlayerCardData(card)\r\n if playerData ~= nil then\r\n internal.spawnPlayerCardTokensFromDataHelper(card, playerData)\r\n end\r\n local locationData = internal.getLocationData(card)\r\n if locationData ~= nil then\r\n internal.spawnLocationTokensFromDataHelper(card, locationData)\r\n end\r\n end\r\n\r\n -- Spawn tokens for a player card using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Player card data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnPlayerCardTokensFromDataHelper = function(card, playerData)\r\n token = playerData.tokenType\r\n tokenCount = playerData.tokenCount\r\n --log(\"Spawning data helper tokens for \"..card.getName()..'['..card.getDescription()..']: '..tokenCount..\"x \"..token)\r\n TokenManager.spawnTokenGroup(card, token, tokenCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n\r\n -- Spawn tokens for a location using data retrieved from the Data Helper.\r\n ---@param card Object Card to maybe spawn tokens for\r\n ---@param playerData Table Location data structure retrieved from the DataHelper. Should be\r\n -- the right data for this card.\r\n internal.spawnLocationTokensFromDataHelper = function(card, locationData)\r\n local clueCount = internal.getClueCountFromData(card, locationData)\r\n if clueCount > 0 then\r\n TokenManager.spawnTokenGroup(card, \"clue\", clueCount)\r\n tokenSpawnTracker.markTokensSpawned(card.getGUID())\r\n end\r\n end\r\n\r\n internal.getPlayerCardData = function(card)\r\n return playerCardData[card.getName() .. ':' .. card.getDescription()]\r\n or playerCardData[card.getName()]\r\n end\r\n\r\n internal.getLocationData = function(card)\r\n return locationData[card.getName() .. '_' .. card.getGUID()] or locationData[card.getName()]\r\n end\r\n\r\n internal.getClueCountFromData = function(card, locationData)\r\n -- Return the number of clues to spawn on this location\r\n if locationData == nil then\r\n error('attempted to get clue for unexpected object: ' .. card.getName())\r\n return 0\r\n end\r\n\r\n --log(card.getName() .. ' : ' .. locationData.type .. ' : ' .. locationData.value .. ' : ' .. locationData.clueSide)\r\n if ((card.is_face_down and locationData.clueSide == 'back')\r\n or (not card.is_face_down and locationData.clueSide == 'front')) then\r\n if locationData.type == 'fixed' then\r\n return locationData.value\r\n elseif locationData.type == 'perPlayer' then\r\n return locationData.value * playArea.getInvestigatorCount()\r\n end\r\n error('unexpected location type: ' .. locationData.type)\r\n end\r\n return 0\r\n end\r\n\r\n -- Gets the right uses structure for this card, based on metadata and face up/down state\r\n ---@param card Object Card to pull the uses from\r\n internal.getUses = function(card)\r\n local metadata = JSON.decode(card.getGMNotes()) or { }\r\n if metadata.type == \"Location\" then\r\n if card.is_face_down and metadata.locationBack ~= nil then\r\n return metadata.locationBack.uses\r\n elseif not card.is_face_down and metadata.locationFront ~= nil then\r\n return metadata.locationFront.uses\r\n end\r\n elseif not card.is_face_down then\r\n return metadata.uses\r\n end\r\n\r\n return nil\r\n end\r\n\r\n -- Dynamically create positions for clues on a card.\r\n ---@param card Object Card the clues will be placed on\r\n ---@param count Integer How many clues?\r\n ---@return Table Array of global positions to spawn the clues at\r\n internal.buildClueOffsets = function(card, count)\r\n local pos = card.getPosition()\r\n local cluePositions = { }\r\n for i = 1, count do\r\n local row = math.floor(1 + (i - 1) / 4)\r\n local column = (i - 1) % 4\r\n table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column))\r\n end\r\n\r\n return cluePositions\r\n end\r\n\r\n ---@param card Object Card object to be replenished\r\n ---@param uses Table The already decoded metadata.uses (to avoid decoding again)\r\n ---@param mat Object The playmat the card is placed on (for rotation and casting)\r\n internal.replenishTokens = function(card, uses, mat)\r\n local cardPos = card.getPosition()\r\n\r\n -- don't continue for cards on the deck (Norman) or in the discard pile\r\n if mat.positionToLocal(cardPos).x < -1 then return end\r\n\r\n -- get current amount of resource tokens on the card\r\n local search = internal.searchOnCard(cardPos, card.getRotation())\r\n local clickableResourceCounter = nil\r\n local foundTokens = 0\r\n\r\n for _, obj in ipairs(search) do\r\n local obj = obj.hit_object\r\n local memo = obj.getMemo()\r\n\r\n if (stateTable[memo] or 0) > 0 then\r\n foundTokens = foundTokens + math.abs(obj.getQuantity())\r\n obj.destruct()\r\n elseif memo == \"resourceCounter\" then\r\n foundTokens = obj.getVar(\"val\")\r\n clickableResourceCounter = obj\r\n break\r\n end\r\n end\r\n\r\n -- this is the theoretical new amount of uses (to be checked below)\r\n local newCount = foundTokens + uses[1].replenish\r\n\r\n -- if there are already more uses than the replenish amount, keep them\r\n if foundTokens > uses[1].count then\r\n newCount = foundTokens\r\n -- only replenish up until the replenish amount\r\n elseif newCount > uses[1].count then\r\n newCount = uses[1].count\r\n end\r\n\r\n -- update the clickable counter or spawn a group of tokens\r\n if clickableResourceCounter then\r\n clickableResourceCounter.call(\"updateVal\", newCount)\r\n else\r\n TokenManager.spawnTokenGroup(card, uses[1].token, newCount, _, uses[1].type)\r\n end\r\n end\r\n\r\n -- searches on a card (standard size) and returns the result\r\n ---@param position Table Position of the card\r\n ---@param rotation Table Rotation of the card\r\n internal.searchOnCard = function(position, rotation)\r\n return Physics.cast({\r\n origin = position,\r\n direction = {0, 1, 0},\r\n orientation = rotation,\r\n type = 3,\r\n size = { 2.5, 0.5, 3.5 },\r\n max_distance = 1,\r\n debug = false\r\n })\r\n end\r\n\r\n return TokenManager\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "102fad", - "Name": "Card", - "Transform": { - "posX": 9.174, - "posY": 2.934, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Reliable (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04020\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Upgrade.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226336, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b4ad29", - "Name": "Card", - "Transform": { - "posX": 9.174, - "posY": 2.929, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Contraband", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02109\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Supply. Illicit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368717, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5fae20", - "Name": "Card", - "Transform": { - "posX": 9.174, - "posY": 2.915, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grisly Totem (3)", - "Description": "Survivor", - "GMNotes": "{\r\n \"id\": \"05195\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Charm. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 293016, - "SidewaysCard": false, - "CustomDeck": { - "2930": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ae3775", - "Name": "Card", - "Transform": { - "posX": 9.174, - "posY": 2.91, - "posZ": -16.731, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Black Book", - "Description": "Signed in Blood", - "GMNotes": "{\r\n \"id\": \"05150\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Tome. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 275732, - "SidewaysCard": false, - "CustomDeck": { - "2757": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/829135524526809828/AB799C8FFD9024655A9F179CCFF1EE30DE0D3C75/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "275450", - "Name": "Card", - "Transform": { - "posX": 9.175, - "posY": 2.942, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heavy Furs", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08126\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Armor.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378913, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0fc42c", - "Name": "Card", - "Transform": { - "posX": 9.175, - "posY": 2.938, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rod of Animalism (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08128\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378915, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "82d62c", - "Name": "Card", - "Transform": { - "posX": 9.175, - "posY": 2.971, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stick to the Plan (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03264\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226350, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e72762", - "Name": "Card", - "Transform": { - "posX": 9.175, - "posY": 2.967, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mind Wipe (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50008\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230351, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "adc8b6", - "Name": "Card", - "Transform": { - "posX": 9.176, - "posY": 2.947, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dauntless Spirit (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08078\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Developed.\",\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378907, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "358387", - "Name": "Card", - "Transform": { - "posX": 9.176, - "posY": 2.942, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rise to the Occasion", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02192\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368801, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bdd102", - "Name": "Card", - "Transform": { - "posX": 9.176, - "posY": 2.938, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "In the Thick of It", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08125\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Curse.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378912, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7a2fe9", - "Name": "Card", - "Transform": { - "posX": 9.177, - "posY": 2.965, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Plucky (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08081\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Composure.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378910, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "852697", - "Name": "Card", - "Transform": { - "posX": 9.177, - "posY": 2.96, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sled Dog", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08127\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Creature.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378914, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e81f1e", - "Name": "Card", - "Transform": { - "posX": 9.177, - "posY": 2.934, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blood Will Have Blood (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08079\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Pact. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378908, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa994a", - "Name": "Card", - "Transform": { - "posX": 9.177, - "posY": 2.93, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crafty (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08123\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"agilityIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378961, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a65852", - "Name": "Card", - "Transform": { - "posX": 9.177, - "posY": 2.925, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bangle of Jinxes (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08075\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Charm. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378904, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb019d", - "Name": "Card", - "Transform": { - "posX": 9.178, - "posY": 2.946, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fire Extinguisher (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08080\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tool. Melee.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378909, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "452db2", - "Name": "Card", - "Transform": { - "posX": 9.178, - "posY": 2.941, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Antiquary (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08124\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue|Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378962, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "29d06d", - "Name": "Card", - "Transform": { - "posX": 9.178, - "posY": 2.909, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jury-Rig", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08074\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Upgrade.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Durability\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378903, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eedd0b", - "Name": "Card", - "Transform": { - "posX": 9.178, - "posY": 2.904, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burn After Reading (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08076\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378905, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "699a99", - "Name": "Card", - "Transform": { - "posX": 9.178, - "posY": 2.899, - "posZ": -16.732, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Schoffner's Catalogue", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08072\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378901, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e64cb", - "Name": "Card", - "Transform": { - "posX": 9.179, - "posY": 2.914, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prophetic (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08120\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378958, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b460e1", - "Name": "Card", - "Transform": { - "posX": 9.179, - "posY": 2.909, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bandages", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08073\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378902, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f85d4e", - "Name": "Card", - "Transform": { - "posX": 9.179, - "posY": 2.904, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Enchanted Bow (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08118\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Blessed. Weapon. Ranged.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378956, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1bdb15", - "Name": "Card", - "Transform": { - "posX": 9.18, - "posY": 2.916, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sleuth (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08121\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Seeker|Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378959, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8ec9cb", - "Name": "Card", - "Transform": { - "posX": 9.18, - "posY": 2.911, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bruiser (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08122\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Rogue|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"replenish\": 2,\r\n \"type\": \"Resource\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378960, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1d6d47", - "Name": "Card", - "Transform": { - "posX": 9.18, - "posY": 2.906, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Earthly Serenity (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08117\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic|Survivor\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378955, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5f541", - "Name": "Card", - "Transform": { - "posX": 9.18, - "posY": 2.914, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Short Supply", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08071\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378900, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/cards/ShortSupply\")\nend)\n__bundle_register(\"playercards/cards/ShortSupply\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal playmatAPI = require(\"playermat/PlaymatApi\")\r\n\r\nfunction onLoad()\r\n self.addContextMenuItem(\"Discard 10 cards\", shortSupply)\r\nend\r\n\r\n-- called by context menu entry\r\nfunction shortSupply(color)\r\n local matColor = playmatAPI.getMatColorByPosition(self.getPosition())\r\n\r\n -- get draw deck and discard position\r\n local drawDeck = playmatAPI.getDrawDeck(matColor)\r\n local discardPos = playmatAPI.getDiscardPosition(matColor)\r\n\r\n -- error handling\r\n if discardPos == nil then\r\n broadcastToColor(\"Couldn't retrieve discard position from playermat!\", color, \"Red\")\r\n return\r\n end\r\n\r\n if drawDeck == nil then\r\n broadcastToColor(\"Deck not found!\", color, \"Yellow\")\r\n return\r\n elseif drawDeck.tag ~= \"Deck\" then\r\n broadcastToColor(\"Deck only contains a single card!\", color, \"Yellow\")\r\n return\r\n end\r\n\r\n -- discard cards\r\n broadcastToColor(\"Discarding top 10 cards for player color '\" .. matColor .. \"'.\", color, \"White\")\r\n for i = 1, 10 do\r\n drawDeck.takeObject({ flip = true, position = { discardPos.x, 2 + 0.075 * i, discardPos.z } })\r\n end\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "57f037", - "Name": "Card", - "Transform": { - "posX": 9.18, - "posY": 2.909, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Earthly Serenity (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08119\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic|Survivor\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378957, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "70f9f7", - "Name": "Card", - "Transform": { - "posX": 9.181, - "posY": 2.865, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ice Pick (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08107\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tool. Melee.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378945, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "358be4", - "Name": "Card", - "Transform": { - "posX": 9.181, - "posY": 2.86, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Precious Memento (4)", - "Description": "From a Future Life", - "GMNotes": "{\r\n \"id\": \"08115\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Charm. Cursed.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378953, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7b4b0c", - "Name": "Card", - "Transform": { - "posX": 9.181, - "posY": 2.855, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Talisman of Protection", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08116\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic|Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378954, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "57b95d", - "Name": "Card", - "Transform": { - "posX": 9.181, - "posY": 2.857, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unscrupulous Loan (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08113\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue|Survivor\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Pact.\",\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378951, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1905cf", - "Name": "Card", - "Transform": { - "posX": 9.181, - "posY": 2.852, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Professor William Webb (2)", - "Description": "Finder of Hidden Connections", - "GMNotes": "{\r\n \"id\": \"08106\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378944, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6c5628", - "Name": "Card", - "Transform": { - "posX": 9.182, - "posY": 2.801, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nkosi Mabati (3)", - "Description": "Enigmatic Warlock", - "GMNotes": "{\r\n \"id\": \"08091\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Sorcerer.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378929, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ae3ff5", - "Name": "Card", - "Transform": { - "posX": 9.182, - "posY": 2.796, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sledgehammer (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08096\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Tool. Weapon. Melee.\",\r\n \"combatIcons\": 3,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378934, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "be4332", - "Name": "Card", - "Transform": { - "posX": 9.182, - "posY": 2.791, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eon Chart (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08098\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378936, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "39cb5b", - "Name": "Card", - "Transform": { - "posX": 9.183, - "posY": 2.786, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ethereal Slip (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08110\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue|Mystic\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Trick.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378948, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f69d3f", - "Name": "Card", - "Transform": { - "posX": 9.183, - "posY": 2.782, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Precious Memento (4)", - "Description": "From a Former Life", - "GMNotes": "{\r\n \"id\": \"08114\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Charm. Blessed.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378952, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "58f2af", - "Name": "Card", - "Transform": { - "posX": 9.183, - "posY": 2.724, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Divination (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08103\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Mystic\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Spell. Augury.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378941, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8b065c", - "Name": "Card", - "Transform": { - "posX": 9.183, - "posY": 2.719, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ice Pick (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08105\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Item. Tool. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378943, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc8571", - "Name": "Card", - "Transform": { - "posX": 9.183, - "posY": 2.714, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Professor William Webb", - "Description": "Finder of Hidden Connections", - "GMNotes": "{\r\n \"id\": \"08104\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378942, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "31539a", - "Name": "Card", - "Transform": { - "posX": 9.184, - "posY": 2.704, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ethereal Slip", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08108\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue|Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Trick.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378946, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "255aa3", - "Name": "Card", - "Transform": { - "posX": 9.184, - "posY": 2.699, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gené Beauregard (3)", - "Description": "Intrepid Explorer", - "GMNotes": "{\r\n \"id\": \"08099\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 5,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378937, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "91204c", - "Name": "Card", - "Transform": { - "posX": 9.184, - "posY": 2.635, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Protecting the Anirniq (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08102\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker|Mystic\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378940, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d3ad2d", - "Name": "Card", - "Transform": { - "posX": 9.184, - "posY": 2.63, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eon Chart (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08100\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378938, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98eb87", - "Name": "Card", - "Transform": { - "posX": 9.184, - "posY": 2.625, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pocket Telescope", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08097\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378935, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "79cbc6", - "Name": "Card", - "Transform": { - "posX": 9.185, - "posY": 2.608, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Snipe (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08087\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian|Rogue\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378925, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b94090", - "Name": "Card", - "Transform": { - "posX": 9.185, - "posY": 2.603, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Trail (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08085\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian|Seeker\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378923, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0fff60", - "Name": "Card", - "Transform": { - "posX": 9.186, - "posY": 2.533, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Brand of Cthugha (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08090\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378928, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4df3b9", - "Name": "Card", - "Transform": { - "posX": 9.186, - "posY": 2.528, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cyclopean Hammer (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08093\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic\",\r\n \"cost\": 5,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378931, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "200b64", - "Name": "Card", - "Transform": { - "posX": 9.186, - "posY": 2.523, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Brand of Cthugha (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08092\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 9,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378930, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "859736", - "Name": "Card", - "Transform": { - "posX": 9.186, - "posY": 2.5, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quickdraw Holster (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08089\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Rogue\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Item. Tool. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378927, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "78fdc7", - "Name": "Card", - "Transform": { - "posX": 9.186, - "posY": 2.495, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sledgehammer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08094\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378932, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7eb1ec", - "Name": "Card", - "Transform": { - "posX": 9.187, - "posY": 2.418, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Old Shotgun (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08088\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Rogue\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378926, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4e4179", - "Name": "Card", - "Transform": { - "posX": 9.187, - "posY": 2.414, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Trail (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08084\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian|Seeker\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378922, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "93e52d", - "Name": "Card", - "Transform": { - "posX": 9.187, - "posY": 2.409, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Panic", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"08132\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378919, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a42bcf", - "Name": "Card", - "Transform": { - "posX": 9.187, - "posY": 2.379, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stupor", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"08133\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378920, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "edb064", - "Name": "Card", - "Transform": { - "posX": 9.187, - "posY": 2.374, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grounded (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08069\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Composure.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379059, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "46b4a0", - "Name": "Card", - "Transform": { - "posX": 9.187, - "posY": 2.369, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leg Injury", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"08131\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Injury.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378918, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f2726b", - "Name": "Card", - "Transform": { - "posX": 9.188, - "posY": 2.355, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Healing Words (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08068\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379058, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "79870f", - "Name": "Card", - "Transform": { - "posX": 9.188, - "posY": 2.351, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "True Magick (5)", - "Description": "Reworking Reality", - "GMNotes": "{\r\n \"id\": \"08070\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"replenish\": 1,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379060, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8f1420", - "Name": "Card", - "Transform": { - "posX": 9.189, - "posY": 2.326, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arm Injury", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"08130\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Injury.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378917, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "49a338", - "Name": "Card", - "Transform": { - "posX": 9.189, - "posY": 2.322, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Occult Theory (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08065\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 1,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379055, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d02825", - "Name": "Card", - "Transform": { - "posX": 9.189, - "posY": 2.317, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Close the Circle (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08062\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Ritual. Synergy.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379052, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "927d34", - "Name": "Card", - "Transform": { - "posX": 9.189, - "posY": 2.34, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scout Ahead", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08047\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379037, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f6d572", - "Name": "Card", - "Transform": { - "posX": 9.189, - "posY": 2.335, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cheat the System (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08050\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Trick. Synergy.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379040, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c09a15", - "Name": "Card", - "Transform": { - "posX": 9.19, - "posY": 2.305, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Foresight (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08064\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Augury.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379054, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "583026", - "Name": "Card", - "Transform": { - "posX": 9.19, - "posY": 2.301, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Parallel Fates (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08066\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Augury.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379056, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6b3a27", - "Name": "Card", - "Transform": { - "posX": 9.191, - "posY": 2.268, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moxie (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08056\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Composure.\",\r\n \"willpowerIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379046, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "67eb69", - "Name": "Card", - "Transform": { - "posX": 9.191, - "posY": 2.238, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Money Talks (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08054\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Favor. Gambit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379044, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "20da53", - "Name": "Card", - "Transform": { - "posX": 9.192, - "posY": 2.224, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Black Market (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08055\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Favor.\",\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379045, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "814c79", - "Name": "Card", - "Transform": { - "posX": 9.193, - "posY": 2.214, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Red Clock (2)", - "Description": "Broken but Reliable", - "GMNotes": "{\r\n \"id\": \"08053\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379043, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bcdfde", - "Name": "Card", - "Transform": { - "posX": 9.193, - "posY": 2.209, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Winds of Power (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08063\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379053, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5e3aac", - "Name": "Card", - "Transform": { - "posX": 9.194, - "posY": 2.246, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Savant (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08052\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 1,\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379042, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "696894", - "Name": "Card", - "Transform": { - "posX": 9.195, - "posY": 2.229, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Red Clock (5)", - "Description": "Broken but Reliable", - "GMNotes": "{\r\n \"id\": \"08058\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 0,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379048, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b03e83", - "Name": "Card", - "Transform": { - "posX": 9.195, - "posY": 2.209, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hiking Boots (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Clothing. Footwear.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379025, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b925fc", - "Name": "Card", - "Transform": { - "posX": 9.196, - "posY": 2.186, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Down the Rabbit Hole", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08059\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379049, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6aa5dc", - "Name": "Card", - "Transform": { - "posX": 9.197, - "posY": 2.16, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Survey the Area (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08037\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 1,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379027, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa06f9", - "Name": "Card", - "Transform": { - "posX": 9.198, - "posY": 2.147, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Forced Learning", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08031\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Talent. Ritual.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379021, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3eafd5", - "Name": "Card", - "Transform": { - "posX": 9.198, - "posY": 2.142, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Black Fan (3)", - "Description": "Symbol of Power", - "GMNotes": "{\r\n \"id\": \"08057\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379047, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "69289f", - "Name": "Card", - "Transform": { - "posX": 9.199, - "posY": 2.177, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Untimely Transaction (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08051\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Favor.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379041, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1fdf4c", - "Name": "Card", - "Transform": { - "posX": 9.199, - "posY": 2.158, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archive of Conduits (4)", - "Description": "Gateway to Tindalos", - "GMNotes": "{\r\n \"id\": \"08041\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ritual.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Leyline\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379031, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fad52a", - "Name": "Card", - "Transform": { - "posX": 9.2, - "posY": 2.136, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Counterespionage (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08049\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Favor. Service.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379039, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a336de", - "Name": "Card", - "Transform": { - "posX": 9.2, - "posY": 2.131, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Hunt (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08028\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379018, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8190ac", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 2.156, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Underworld Support", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08046\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Favor. Illicit.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379036, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8023f5", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.128, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archive of Conduits", - "Description": "Unidentified", - "GMNotes": "{\r\n \"id\": \"08033\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome. Occult.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379023, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4b1b99", - "Name": "Card", - "Transform": { - "posX": 9.203, - "posY": 2.064, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archive of Conduits (4)", - "Description": "Gateway to Aldebaran", - "GMNotes": "{\r\n \"id\": \"08043\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ritual.\",\r\n \"agilityIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Leyline\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379033, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5210c2", - "Name": "Card", - "Transform": { - "posX": 9.203, - "posY": 2.074, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "21 or Bust", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08048\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Gambit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379038, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "88ff66", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.083, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archive of Conduits (4)", - "Description": "Gateway to Acheron", - "GMNotes": "{\r\n \"id\": \"08042\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ritual.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Leyline\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379032, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "55999d", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.078, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prophesiae Profana (5)", - "Description": "Atlas of the Unknowable", - "GMNotes": "{\r\n \"id\": \"08045\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379035, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "098132", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.073, - "posZ": -16.737, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Archive of Conduits (4)", - "Description": "Gateway to Paradise", - "GMNotes": "{\r\n \"id\": \"08044\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Leyline\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379034, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98e5f5", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.178, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jeremiah Kirby", - "Description": "Arctic Archaeologist", - "GMNotes": "{\r\n \"id\": \"08032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379022, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0d3bfa", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.173, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Medical Texts (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08038\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379028, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9ab750", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.168, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dodge (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08026\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379016, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "36efa2", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.27, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Combat Training (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08027\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Composure.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379017, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3a4edd", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.265, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unearth the Ancients (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08039\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379029, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a312f", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.26, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Butterfly Swords (5)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08030\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379020, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "62e4f4", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.358, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Defensive Stance (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08024\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 1,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379014, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "09cc35", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.353, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gang Up (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08022\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Spirit. Synergy.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379012, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "76270e", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.348, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Get behind me!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08021\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379011, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "58288b", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.443, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Toe to Toe", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08020\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit. Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379010, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "081db4", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.438, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Discipline", - "Description": "Quiescence of Thought", - "GMNotes": "{\r\n \"id\": \"08012a\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Unbroken.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379406, - "SidewaysCard": false, - "CustomDeck": { - "3794": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ca36f", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.433, - "posZ": -16.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Greed", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08018\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379000, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5ff3bd", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.524, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Discipline", - "Description": "Alignment of Spirit", - "GMNotes": "{\r\n \"id\": \"08011a\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Unbroken.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379405, - "SidewaysCard": false, - "CustomDeck": { - "3794": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e8d38d", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.602, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Discipline", - "Description": "Prescience of Fate", - "GMNotes": "{\r\n \"id\": \"08013a\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Unbroken.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379407, - "SidewaysCard": false, - "CustomDeck": { - "3794": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "45c19e", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.598, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burden of Destiny", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08015\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379007, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3247da", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.593, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Discipline", - "Description": "Balance of Body", - "GMNotes": "{\r\n \"id\": \"08014a\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Unbroken.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379408, - "SidewaysCard": false, - "CustomDeck": { - "3794": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c70129", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.677, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shrewd Dealings", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08017\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379008, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "28080d", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.672, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Buried Secrets", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08009\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Mystery.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379006, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "598ba0", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.667, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mechanic's Wrench", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08002\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Tool. Melee.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379001, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0c2449", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.749, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fend Off (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08082\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Gambit. Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378911, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6367dd", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.744, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Join the Caravan (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08036\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 5,\r\n \"level\": 1,\r\n \"traits\": \"Insight. Synergy.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379026, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e2dc13", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.739, - "posZ": -16.735, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fang of Tyr'thrha (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08029\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379019, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "83c86b", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.807, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alter Fate (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04313\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368856, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "adf028", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.882, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pantalone", - "Description": "", - "GMNotes": "{\r\n \"id\": \"82025\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Mask.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 295603, - "SidewaysCard": false, - "CustomDeck": { - "2956": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/87094793642329861/9768E9FE9C71E74721340D0D81607F534E54A3DE/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b2e27e", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.877, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fearless (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02268\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 2,\r\n \"traits\": \"Innate. Developed.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230337, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a0c2da", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.943, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Veda Whitsley", - "Description": "Skilled Botanist", - "GMNotes": "{\r\n \"id\": \"53037\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Return to the Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 231709, - "SidewaysCard": false, - "CustomDeck": { - "2317": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1487830656537091085/26A674065298A59068E1D6BA3804D03554C234A3/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bb640d", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.938, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ever Vigilant (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03023\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226334, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b4d67b", - "Name": "Card", - "Transform": { - "posX": 9.202, - "posY": 2.934, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sweeping Kick (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08023\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Spirit. Tactic. Trick.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379013, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "54293e", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 3.001, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Boxing Gloves (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60127\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Weapon.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 545325, - "SidewaysCard": false, - "CustomDeck": { - "5453": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1546380927206250326/18BF6D2B2BBFDDBE5B021A46C310E4F45493EC26/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "77f92c", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 2.996, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Expose Weakness (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04195\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 262203, - "SidewaysCard": false, - "CustomDeck": { - "2622": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "028cf7", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 2.991, - "posZ": -16.734, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Geared Up", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08019\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379009, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "431c15", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 3.055, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Hit me!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08112\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue|Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Gambit.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 378950, - "SidewaysCard": false, - "CustomDeck": { - "3789": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "158450", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 3.051, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scientific Theory (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08040\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Composure.\",\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379030, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dfd48b", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 3.046, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Painted World", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03012\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374014, - "SidewaysCard": false, - "CustomDeck": { - "3740": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3bf831", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 3.106, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "False Awakening", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"06275\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448519, - "SidewaysCard": false, - "CustomDeck": { - "4485": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/780749631103449151/FFAADF06C9BF9D1F4F3FE22D45CEBBB15D9B58CF/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9aee7f", - "Name": "Card", - "Transform": { - "posX": 9.201, - "posY": 1.994, - "posZ": -16.733, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Improvisation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03018\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Insight.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374834, - "SidewaysCard": false, - "CustomDeck": { - "3748": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d12359", - "Name": "Card", - "Transform": { - "posX": 25.435, - "posY": 3.526, - "posZ": -7.466, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Detached from Reality", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06014\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587508, - "SidewaysCard": false, - "CustomDeck": { - "5875": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa4c1e", - "Name": "Card", - "Transform": { - "posX": 26.037, - "posY": 3.536, - "posZ": -7.322, - "rotX": 0.0, - "rotY": 240.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dream-Gate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06015a\",\r\n \"alternate_ids\": [\r\n \"06015b\"\r\n ],\r\n \"type\": \"Location\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Dreamlands.\",\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Location", - "ScenarioCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 541109, - "SidewaysCard": false, - "CustomDeck": { - "5411": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846571/13C76218853EE87123267F8F6BE99206DB40470B/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/775107869050061525/A759DF697FFB26F0F5B75E116A923E33F88FCA7B/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7dc42a", - "Name": "Card", - "Transform": { - "posX": 25.861, - "posY": 3.533, - "posZ": -7.408, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Safeguard (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06196\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 447933, - "SidewaysCard": false, - "CustomDeck": { - "4479": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943109/9C5481E6DFEACD450C5522F884E615482281DDB1/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fd393b", - "Name": "Card", - "Transform": { - "posX": 26.104, - "posY": 3.538, - "posZ": -7.17, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Look what I found!\" (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60524\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"intellectIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550822, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "95272b", - "Name": "Card", - "Transform": { - "posX": 25.72, - "posY": 3.531, - "posZ": -7.109, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deduction (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02150\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced. Expert.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430642, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "194adb", - "Name": "Card", - "Transform": { - "posX": 26.017, - "posY": 3.533, - "posZ": -7.553, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rite of Seeking (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02233\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 5,\r\n \"level\": 4,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230358, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "11122f", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.063, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Marie Lambeau", - "Description": "The Entertainer", - "GMNotes": "{\r\n \"id\": \"05006\",\r\n \"alternate_ids\": [\r\n \"99001\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Performer. Sorcerer.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272226, - "SidewaysCard": true, - "CustomDeck": { - "2722": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "502768", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.084, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Roland Banks (Parallel)", - "Description": "The Fed", - "GMNotes": "{\r\n \"id\": \"01001-p\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536102, - "SidewaysCard": true, - "CustomDeck": { - "5361": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761477165/4BDF4AF6F55103AAA509DC67C952B660B5995707/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761477858/7CDB3552B0A37462AD965C5F67DF81A1EF9D4D60/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a03077", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.116, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Skids\" O'Toole (Parallel Back)", - "Description": "The Ex-Con", - "GMNotes": "{\r\n \"id\": \"01003-pb\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270204, - "SidewaysCard": true, - "CustomDeck": { - "2702": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154536333/92BABC93BFBC5E1DA2C2A7B5EA5E62151E0DE3D7/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154537387/9BBCF9ACFA26E3C0649434C832E5681AB731A77B/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bb8296", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.142, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Rita Young", - "Description": "The Athlete", - "GMNotes": "{\r\n \"id\": \"05005\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 5,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272024, - "SidewaysCard": true, - "CustomDeck": { - "2720": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "571596", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.128, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Gloria Goldberg", - "Description": "The Writer", - "GMNotes": "{\r\n \"id\": \"98019\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Clairvoyant.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Promo\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270200, - "SidewaysCard": true, - "CustomDeck": { - "2702": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154536333/92BABC93BFBC5E1DA2C2A7B5EA5E62151E0DE3D7/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154537387/9BBCF9ACFA26E3C0649434C832E5681AB731A77B/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "53a412", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.132, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Tony Morgan", - "Description": "The Bounty Hunter", - "GMNotes": "{\r\n \"id\": \"06003\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal. Hunter.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 5,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536436, - "SidewaysCard": true, - "CustomDeck": { - "5364": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "333fe7", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 2.003, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Trish Scarborough", - "Description": "The Spy", - "GMNotes": "{\r\n \"id\": \"07003\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553402, - "SidewaysCard": true, - "CustomDeck": { - "5534": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672550/E5E1C8EE53C7692025E048F0A04BE98D6FA17111/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672810/20E21AC471D7E5E1545F0EAE635A093718D4C7CF/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c59b75", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.943, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Luke Robinson", - "Description": "The Dreamer", - "GMNotes": "{\r\n \"id\": \"06004\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Dreamer. Drifter. Wayfarer.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536234, - "SidewaysCard": true, - "CustomDeck": { - "5362": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eb96e6", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.943, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Father Mateo", - "Description": "The Priest", - "GMNotes": "{\r\n \"id\": \"04004\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Believer. Warden.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 449601, - "SidewaysCard": true, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "419b0c", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.919, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Bob Jenkins", - "Description": "The Salesman", - "GMNotes": "{\r\n \"id\": \"08016\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Entrepreneur.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379504, - "SidewaysCard": true, - "CustomDeck": { - "3795": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7e4c56", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.94, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "William Yorick", - "Description": "The Gravedigger", - "GMNotes": "{\r\n \"id\": \"03005\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Warden.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271114, - "SidewaysCard": true, - "CustomDeck": { - "2711": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b02a1e", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.938, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Calvin Wright", - "Description": "The Haunted", - "GMNotes": "{\r\n \"id\": \"04005\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Cursed. Drifter.\",\r\n \"willpowerIcons\": 0,\r\n \"intellectIcons\": 0,\r\n \"combatIcons\": 0,\r\n \"agilityIcons\": 0,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271720, - "SidewaysCard": true, - "CustomDeck": { - "2717": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a7b79f", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.907, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Patrice Hathaway", - "Description": "The Violinist", - "GMNotes": "{\r\n \"id\": \"06005\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Performer. Cursed.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536635, - "SidewaysCard": true, - "CustomDeck": { - "5366": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc21e0", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.874, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Lily Chen", - "Description": "The Martial Artist", - "GMNotes": "{\r\n \"id\": \"08010\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Chosen. Warden.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379503, - "SidewaysCard": true, - "CustomDeck": { - "3795": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "452ed8", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.881, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Akachi Onyele", - "Description": "The Shaman", - "GMNotes": "{\r\n \"id\": \"03004\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271013, - "SidewaysCard": true, - "CustomDeck": { - "2710": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "05b950", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.854, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Amanda Sharpe", - "Description": "The Student", - "GMNotes": "{\r\n \"id\": \"07002\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic. Scholar.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 449600, - "SidewaysCard": true, - "CustomDeck": { - "4496": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6c4c58", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.836, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Minh Thi Phan", - "Description": "The Secretary", - "GMNotes": "{\r\n \"id\": \"03002\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Assistant.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270811, - "SidewaysCard": true, - "CustomDeck": { - "2708": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "57d586", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.841, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Mandy Thompson", - "Description": "The Researcher", - "GMNotes": "{\r\n \"id\": \"06002\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Assistant. Scholar.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536333, - "SidewaysCard": true, - "CustomDeck": { - "5363": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07c37d", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.814, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Ursula Downs", - "Description": "The Explorer", - "GMNotes": "{\r\n \"id\": \"04002\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Wayfarer.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271417, - "SidewaysCard": true, - "CustomDeck": { - "2714": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "00e18e", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.828, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Stella Clark", - "Description": "The Letter Carrier", - "GMNotes": "{\r\n \"id\": \"60501\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Chosen. Civic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 234904, - "SidewaysCard": true, - "CustomDeck": { - "2349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887640918/BF3A963B745EF2047ABDFC524AEE4EA0145A04F4/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887642390/2CC878F26205C80F4B8D69DE3A4433804A31AABF/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "617aeb", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.801, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Sister Mary", - "Description": "The Nun", - "GMNotes": "{\r\n \"id\": \"07001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Believer. Blessed.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553400, - "SidewaysCard": true, - "CustomDeck": { - "5534": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672550/E5E1C8EE53C7692025E048F0A04BE98D6FA17111/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672810/20E21AC471D7E5E1545F0EAE635A093718D4C7CF/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5294c3", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.806, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "The Drifter", - "GMNotes": "{\r\n \"id\": \"02005\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 449806, - "SidewaysCard": true, - "CustomDeck": { - "4498": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "01ac1b", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.777, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Mark Harrigan", - "Description": "The Soldier", - "GMNotes": "{\r\n \"id\": \"03001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Veteran.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 5,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270710, - "SidewaysCard": true, - "CustomDeck": { - "2707": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e637cd", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.788, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Tommy Muldoon", - "Description": "The Rookie Cop", - "GMNotes": "{\r\n \"id\": \"06001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Police. Warden.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536532, - "SidewaysCard": true, - "CustomDeck": { - "5365": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "444830", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.759, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Daniela Reyes", - "Description": "The Mechanic", - "GMNotes": "{\r\n \"id\": \"08001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Entrepreneur.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 5,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379500, - "SidewaysCard": true, - "CustomDeck": { - "3795": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "126932", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.764, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Leo Anderson", - "Description": "The Expedition Leader", - "GMNotes": "{\r\n \"id\": \"04001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Veteran. Wayfarer.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271316, - "SidewaysCard": true, - "CustomDeck": { - "2713": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a2cd75", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.737, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Jacqueline Fine", - "Description": "The Psychic", - "GMNotes": "{\r\n \"id\": \"60401\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Clairvoyant.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 234903, - "SidewaysCard": true, - "CustomDeck": { - "2349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887640918/BF3A963B745EF2047ABDFC524AEE4EA0145A04F4/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887642390/2CC878F26205C80F4B8D69DE3A4433804A31AABF/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8116a6", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.752, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Skids\" O'Toole (Parallel Front)", - "Description": "The Ex-Con", - "GMNotes": "{\r\n \"id\": \"01003-pf\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270203, - "SidewaysCard": true, - "CustomDeck": { - "2702": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154536333/92BABC93BFBC5E1DA2C2A7B5EA5E62151E0DE3D7/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154537387/9BBCF9ACFA26E3C0649434C832E5681AB731A77B/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "22ebb2", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.726, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Skids\" O'Toole (Parallel)", - "Description": "The Ex-Con", - "GMNotes": "{\r\n \"id\": \"01003-p\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270202, - "SidewaysCard": true, - "CustomDeck": { - "2702": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154536333/92BABC93BFBC5E1DA2C2A7B5EA5E62151E0DE3D7/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154537387/9BBCF9ACFA26E3C0649434C832E5681AB731A77B/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "282857", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.7, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Daisy Walker (Parallel)", - "Description": "The Librarian", - "GMNotes": "{\r\n \"id\": \"01002-p\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270201, - "SidewaysCard": true, - "CustomDeck": { - "2702": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154536333/92BABC93BFBC5E1DA2C2A7B5EA5E62151E0DE3D7/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599718154537387/9BBCF9ACFA26E3C0649434C832E5681AB731A77B/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e8cafc", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.71, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Daisy Walker (Parallel Front)", - "Description": "The Librarian", - "GMNotes": "{\r\n \"id\": \"01002-pf\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535101, - "SidewaysCard": true, - "CustomDeck": { - "5351": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1017195287736572954/79FAF352FE90F08BE9247753F39798A878925EAA/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f2e0d", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.688, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Daisy Walker (Parallel Back)", - "Description": "The Librarian", - "GMNotes": "{\r\n \"id\": \"01002-pb\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273901, - "SidewaysCard": true, - "CustomDeck": { - "2739": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1017195287736569204/9F5F294127B638FECFF0BC88A0F93387AF994431/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "560cef", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.661, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Roland Banks (Parallel Back)", - "Description": "The Fed", - "GMNotes": "{\r\n \"id\": \"01001-pb\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536100, - "SidewaysCard": true, - "CustomDeck": { - "5361": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761477165/4BDF4AF6F55103AAA509DC67C952B660B5995707/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761477858/7CDB3552B0A37462AD965C5F67DF81A1EF9D4D60/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f7361e", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.672, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Roland Banks (Parallel Front)", - "Description": "The Fed", - "GMNotes": "{\r\n \"id\": \"01001-pf\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 536101, - "SidewaysCard": true, - "CustomDeck": { - "5361": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761477165/4BDF4AF6F55103AAA509DC67C952B660B5995707/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706761477858/7CDB3552B0A37462AD965C5F67DF81A1EF9D4D60/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cd4028", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.635, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Winifred Habbamock", - "Description": "The Aviatrix", - "GMNotes": "{\r\n \"id\": \"60301\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 5,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 234902, - "SidewaysCard": true, - "CustomDeck": { - "2349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887640918/BF3A963B745EF2047ABDFC524AEE4EA0145A04F4/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887642390/2CC878F26205C80F4B8D69DE3A4433804A31AABF/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1fa944", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.605, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Harvey Walters", - "Description": "The Professor", - "GMNotes": "{\r\n \"id\": \"60201\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 234901, - "SidewaysCard": true, - "CustomDeck": { - "2349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887640918/BF3A963B745EF2047ABDFC524AEE4EA0145A04F4/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887642390/2CC878F26205C80F4B8D69DE3A4433804A31AABF/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "65588a", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.609, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Nathaniel Cho", - "Description": "The Boxer", - "GMNotes": "{\r\n \"id\": \"60101\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Criminal. Warden.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 5,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 234900, - "SidewaysCard": true, - "CustomDeck": { - "2349": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887640918/BF3A963B745EF2047ABDFC524AEE4EA0145A04F4/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1016065907887642390/2CC878F26205C80F4B8D69DE3A4433804A31AABF/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5e6298", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.583, - "posZ": -73.088, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Preston Fairmont", - "Description": "The Millionaire", - "GMNotes": "{\r\n \"id\": \"05003\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Silver Twilight. Socialite.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271923, - "SidewaysCard": true, - "CustomDeck": { - "2719": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "32b091", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.579, - "posZ": -73.088, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Diana Stanley", - "Description": "The Redeemed Cultist", - "GMNotes": "{\r\n \"id\": \"05004\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Cultist. Silver Twilight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272125, - "SidewaysCard": true, - "CustomDeck": { - "2721": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98a0e1", - "Name": "Card", - "Transform": { - "posX": 18.448, - "posY": 1.587, - "posZ": -73.088, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Zoey Samaras", - "Description": "The Chef", - "GMNotes": "{\r\n \"id\": \"02001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Believer. Hunter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 449902, - "SidewaysCard": true, - "CustomDeck": { - "4499": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ca079b", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.558, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Jim Culver", - "Description": "The Musician", - "GMNotes": "{\r\n \"id\": \"02004\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Performer.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 449705, - "SidewaysCard": true, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6dc626", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.528, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Joe Diamond", - "Description": "The Private Investigator", - "GMNotes": "{\r\n \"id\": \"05002\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Detective.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271822, - "SidewaysCard": true, - "CustomDeck": { - "2718": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "909f30", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.525, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Agnes Baker (Parallel Back)", - "Description": "The Waitress", - "GMNotes": "{\r\n \"id\": \"01004-pb\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535906, - "SidewaysCard": true, - "CustomDeck": { - "5359": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038868372/5C2FC3F391C6D3B287C38B875F83629110163282/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038868958/4F366892FB57AF3841513790E41E15D85E9DC211/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d37332", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.478, - "posZ": -73.088, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Lola Hayes", - "Description": "The Actress", - "GMNotes": "{\r\n \"id\": \"03006\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Performer.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 271215, - "SidewaysCard": true, - "CustomDeck": { - "2712": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "02db0a", - "Name": "Card", - "Transform": { - "posX": 87.052, - "posY": 2.119, - "posZ": -78.506, - "rotX": 355.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Agnes Baker (Parallel Front)", - "Description": "The Waitress", - "GMNotes": "{\r\n \"id\": \"01004-pf\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535905, - "SidewaysCard": true, - "CustomDeck": { - "5359": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038868372/5C2FC3F391C6D3B287C38B875F83629110163282/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038868958/4F366892FB57AF3841513790E41E15D85E9DC211/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "01b6ef", - "Name": "Card", - "Transform": { - "posX": 18.449, - "posY": 1.288, - "posZ": -73.087, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Agnes Baker (Parallel)", - "Description": "The Waitress", - "GMNotes": "{\r\n \"id\": \"01004-p\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535904, - "SidewaysCard": true, - "CustomDeck": { - "5359": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038868372/5C2FC3F391C6D3B287C38B875F83629110163282/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1655599785038868958/4F366892FB57AF3841513790E41E15D85E9DC211/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "df8ec4", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.152, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Daniela Reyes", - "Description": "", - "GMNotes": "{\n \"id\": \"08001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379201, - "SidewaysCard": false, - "CustomDeck": { - "3792": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507575/2EC3C9DD9A82135F5C0D3460C93B4B873EA5E0E0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507801/776246D0ED5DFF897896D229B6F7E801898CA4F6/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d0128", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.131, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Lily Chen", - "Description": "", - "GMNotes": "{\n \"id\": \"08010-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379202, - "SidewaysCard": false, - "CustomDeck": { - "3792": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507575/2EC3C9DD9A82135F5C0D3460C93B4B873EA5E0E0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507801/776246D0ED5DFF897896D229B6F7E801898CA4F6/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aa1c23", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.164, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Bob Jenkins", - "Description": "", - "GMNotes": "{\n \"id\": \"08016-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379200, - "SidewaysCard": false, - "CustomDeck": { - "3792": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507575/2EC3C9DD9A82135F5C0D3460C93B4B873EA5E0E0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507801/776246D0ED5DFF897896D229B6F7E801898CA4F6/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b8fd86", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.174, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "\"Ashcan\" Pete", - "Description": "", - "GMNotes": "{\n \"id\": \"02005-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 258909, - "SidewaysCard": false, - "CustomDeck": { - "2589": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2d6db0", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.202, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Harvey Walters", - "Description": "", - "GMNotes": "{\n \"id\": \"60201-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274217, - "SidewaysCard": false, - "CustomDeck": { - "2742": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093847742/6DF29C75A96B1D04C068D3AACAE25F9D2363BE9A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d35705", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.179, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Sefina Rousseau", - "Description": "", - "GMNotes": "{\n \"id\": \"03003-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259512, - "SidewaysCard": false, - "CustomDeck": { - "2595": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "98d974", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.133, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "William Yorick", - "Description": "", - "GMNotes": "{\n \"id\": \"03005-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259414, - "SidewaysCard": false, - "CustomDeck": { - "2594": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "12d3de", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.128, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Mandy Thompson", - "Description": "", - "GMNotes": "{\n \"id\": \"06002-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274012, - "SidewaysCard": false, - "CustomDeck": { - "2740": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9b0378", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.063, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Jacqueline Fine", - "Description": "", - "GMNotes": "{\n \"id\": \"60401-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274219, - "SidewaysCard": false, - "CustomDeck": { - "2742": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093847742/6DF29C75A96B1D04C068D3AACAE25F9D2363BE9A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bdef4d", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 2.049, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Rita Young", - "Description": "", - "GMNotes": "{\n \"id\": \"05005-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 591100, - "SidewaysCard": false, - "CustomDeck": { - "5911": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d55364", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.99, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Joe Diamond", - "Description": "", - "GMNotes": "{\n \"id\": \"05002-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272903, - "SidewaysCard": false, - "CustomDeck": { - "2729": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b7a676", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.966, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Jim Culver", - "Description": "", - "GMNotes": "{\n \"id\": \"02004-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259308, - "SidewaysCard": false, - "CustomDeck": { - "2593": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "038599", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.986, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Winifred Habbamock", - "Description": "", - "GMNotes": "{\n \"id\": \"60301-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274218, - "SidewaysCard": false, - "CustomDeck": { - "2742": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093847742/6DF29C75A96B1D04C068D3AACAE25F9D2363BE9A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "877f4d", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.981, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Patrice Hathaway", - "Description": "", - "GMNotes": "{\n \"id\": \"06005-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274014, - "SidewaysCard": false, - "CustomDeck": { - "2740": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc5d62", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.948, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Trish Scarborough", - "Description": "", - "GMNotes": "{\n \"id\": \"07003-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553202, - "SidewaysCard": false, - "CustomDeck": { - "5532": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132708743/A33DE2B12DE941B1CF2E4C8A458A18E48CB5CEEF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132709196/85DFA06CD6EC0C36B07F86E5CDECCB6AFF531152/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fe6430", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.911, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Minh Thi Phan", - "Description": "", - "GMNotes": "{\n \"id\": \"03002-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259711, - "SidewaysCard": false, - "CustomDeck": { - "2597": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f0f4a", - "Name": "Card", - "Transform": { - "posX": 21.233, - "posY": 1.919, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Tony Morgan", - "Description": "", - "GMNotes": "{\n \"id\": \"06003-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274015, - "SidewaysCard": false, - "CustomDeck": { - "2740": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b127ab", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.891, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Lola Hayes", - "Description": "", - "GMNotes": "{\n \"id\": \"03006-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259915, - "SidewaysCard": false, - "CustomDeck": { - "2599": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aa6282", - "Name": "CardCustom", - "Transform": { - "posX": 21.232, - "posY": 1.902, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Gloria Goldberg", - "Description": "", - "GMNotes": "{\n \"id\": \"98019-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 591500, - "SidewaysCard": false, - "CustomDeck": { - "5915": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280927433/BAC4CB96D8CB18760D53AF7B8096C09FACDADC97/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280927665/2B5BEB0B97C302165C773E291FE06863816EC59F/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "82dc80", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.873, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Finn Edwards", - "Description": "", - "GMNotes": "{\n \"id\": \"04003-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 261918, - "SidewaysCard": false, - "CustomDeck": { - "2619": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1c78ea", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.88, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Sister Mary", - "Description": "", - "GMNotes": "{\n \"id\": \"07001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553200, - "SidewaysCard": false, - "CustomDeck": { - "5532": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132708743/A33DE2B12DE941B1CF2E4C8A458A18E48CB5CEEF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132709196/85DFA06CD6EC0C36B07F86E5CDECCB6AFF531152/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cc354d", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.853, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Mark Harrigan", - "Description": "", - "GMNotes": "{\n \"id\": \"03001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259610, - "SidewaysCard": false, - "CustomDeck": { - "2596": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "88c4f4", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.835, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Luke Robinson", - "Description": "", - "GMNotes": "{\n \"id\": \"06004-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274013, - "SidewaysCard": false, - "CustomDeck": { - "2740": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "359ef4", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.839, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Diana Stanley", - "Description": "", - "GMNotes": "{\n \"id\": \"05004-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 591001, - "SidewaysCard": false, - "CustomDeck": { - "5910": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "df852c", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.813, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Father Mateo", - "Description": "", - "GMNotes": "{\n \"id\": \"04004-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 262119, - "SidewaysCard": false, - "CustomDeck": { - "2621": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1806e5", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.803, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Nathaniel Cho", - "Description": "", - "GMNotes": "{\n \"id\": \"60101-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274216, - "SidewaysCard": false, - "CustomDeck": { - "2742": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093847742/6DF29C75A96B1D04C068D3AACAE25F9D2363BE9A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8925b0", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.77, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Leo Anderson", - "Description": "", - "GMNotes": "{\n \"id\": \"04001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 262016, - "SidewaysCard": false, - "CustomDeck": { - "2620": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c91482", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.805, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Ursula Downs", - "Description": "", - "GMNotes": "{\n \"id\": \"04002-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 260317, - "SidewaysCard": false, - "CustomDeck": { - "2603": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b05c03", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.893, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Marie Lambeau", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05006-m\",\r\n \"alternate_ids\": [\r\n \"99001-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272705, - "SidewaysCard": false, - "CustomDeck": { - "2727": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "155746", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.891, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Amanda Sharpe", - "Description": "", - "GMNotes": "{\n \"id\": \"07002-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553201, - "SidewaysCard": false, - "CustomDeck": { - "5532": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132708743/A33DE2B12DE941B1CF2E4C8A458A18E48CB5CEEF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132709196/85DFA06CD6EC0C36B07F86E5CDECCB6AFF531152/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "78c512", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.886, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Preston Fairmont", - "Description": "", - "GMNotes": "{\n \"id\": \"05003-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272804, - "SidewaysCard": false, - "CustomDeck": { - "2728": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f74398", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.893, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Monterey Jack", - "Description": "", - "GMNotes": "{\n \"id\": \"08007-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379203, - "SidewaysCard": false, - "CustomDeck": { - "3792": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507575/2EC3C9DD9A82135F5C0D3460C93B4B873EA5E0E0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507801/776246D0ED5DFF897896D229B6F7E801898CA4F6/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dd3dbd", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.853, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Stella Clark", - "Description": "", - "GMNotes": "{\n \"id\": \"60501-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274220, - "SidewaysCard": false, - "CustomDeck": { - "2742": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093847742/6DF29C75A96B1D04C068D3AACAE25F9D2363BE9A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ef75e7", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.851, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Zoey Samaras", - "Description": "", - "GMNotes": "{\n \"id\": \"02001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259105, - "SidewaysCard": false, - "CustomDeck": { - "2591": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5e73c6", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.781, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Tommy Muldoon", - "Description": "", - "GMNotes": "{\n \"id\": \"06001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274011, - "SidewaysCard": false, - "CustomDeck": { - "2740": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6a9578", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.682, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Akachi Onyele", - "Description": "", - "GMNotes": "{\n \"id\": \"03004-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259813, - "SidewaysCard": false, - "CustomDeck": { - "2598": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "510d45", - "Name": "Card", - "Transform": { - "posX": 21.232, - "posY": 1.646, - "posZ": -18.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Calvin Wright", - "Description": "", - "GMNotes": "{\n \"id\": \"04005-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 261820, - "SidewaysCard": false, - "CustomDeck": { - "2618": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e136f", - "Name": "Card", - "Transform": { - "posX": 79.232, - "posY": 3.326, - "posZ": 7.795, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Spare Parts", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08620\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Expedition.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450312, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c9feda", - "Name": "Card", - "Transform": { - "posX": 79.127, - "posY": 3.327, - "posZ": 7.833, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Small Radio", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08619\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Expedition.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450311, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "08dd86", - "Name": "Card", - "Transform": { - "posX": 79.271, - "posY": 3.322, - "posZ": 8.264, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mineral Specimen", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08618\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Relic. Expedition.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450310, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bad631", - "Name": "Card", - "Transform": { - "posX": 79.391, - "posY": 3.324, - "posZ": 7.894, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Miasmic Crystal", - "Description": "Strange Evidence", - "GMNotes": "{\r\n \"id\": \"08617\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Relic. Expedition.\",\r\n \"willpowerIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450309, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "793df5", - "Name": "Card", - "Transform": { - "posX": 79.468, - "posY": 3.319, - "posZ": 8.623, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dynamite", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08616\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Expedition.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450308, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "991640", - "Name": "Card", - "Transform": { - "posX": 79.364, - "posY": 3.323, - "posZ": 8.084, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wooden Sledge", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08615\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Expedition.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450307, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d36d80", - "Name": "Card", - "Transform": { - "posX": 79.371, - "posY": 3.326, - "posZ": 7.631, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Green Soapstone", - "Description": "Jinxed Idol", - "GMNotes": "{\r\n \"id\": \"08614\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Item. Expedition.\",\r\n \"combatIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450306, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ef2ba", - "Name": "Card", - "Transform": { - "posX": 76.463, - "posY": 29.778, - "posZ": 14.468, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08729\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449751, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "05e697", - "Name": "Card", - "Transform": { - "posX": 76.741, - "posY": 9.163, - "posZ": 17.497, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08728\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449750, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "361f15", - "Name": "Card", - "Transform": { - "posX": 70.805, - "posY": 2.539, - "posZ": 35.578, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08727\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449749, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f5bd65", - "Name": "Card", - "Transform": { - "posX": 72.293, - "posY": 2.538, - "posZ": 30.831, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08726\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449748, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ba293", - "Name": "Card", - "Transform": { - "posX": 76.291, - "posY": 15.16, - "posZ": 23.911, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08725\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449747, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "76409f", - "Name": "Card", - "Transform": { - "posX": 76.72, - "posY": 9.163, - "posZ": 19.039, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08724\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449746, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "519e41", - "Name": "Card", - "Transform": { - "posX": 76.209, - "posY": 9.163, - "posZ": 18.214, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tekeli-li", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08723\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 449745, - "SidewaysCard": false, - "CustomDeck": { - "4497": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583844492/A3CE36420BC4AE8D863014F3F8B84C1A6047EBEB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8abd77", - "Name": "Card", - "Transform": { - "posX": 79.116, - "posY": 3.33, - "posZ": 7.265, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Frostbitten", - "Description": "Weakness.", - "GMNotes": "{\r\n \"id\": \"08646\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Injury.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450318, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "04b3a9", - "Name": "Card", - "Transform": { - "posX": 79.421, - "posY": 3.323, - "posZ": 7.652, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Possessed", - "Description": "Weakness.", - "GMNotes": "{\r\n \"id\": \"08647\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 450319, - "SidewaysCard": false, - "CustomDeck": { - "4503": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462587822801/5E2DBBF49FB9A74CE0F4A953D8F4FECCBA479D11/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8d6475", - "Name": "Card", - "Transform": { - "posX": 79.167, - "posY": 3.324, - "posZ": 7.399, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sinha's Medical Kit", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08736\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452306, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8d5c12", - "Name": "Card", - "Transform": { - "posX": 79.272, - "posY": 3.323, - "posZ": 7.385, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Kensler's Log", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08735\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452305, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e627e8", - "Name": "Card", - "Transform": { - "posX": 79.176, - "posY": 3.324, - "posZ": 8.227, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Takada's Cache", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08737\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Supply.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452307, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b12d89", - "Name": "Card", - "Transform": { - "posX": 79.188, - "posY": 3.326, - "posZ": 7.941, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dyer's Sketches", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08733\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452303, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1c751d", - "Name": "Card", - "Transform": { - "posX": 78.962, - "posY": 3.329, - "posZ": 7.671, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ellsworth's Boots", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08734\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Clothing. Footwear.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452304, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d6f719", - "Name": "Card", - "Transform": { - "posX": 78.942, - "posY": 3.324, - "posZ": 8.213, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Collected Works of Poe", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08731\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452301, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c1f999", - "Name": "Card", - "Transform": { - "posX": 79.141, - "posY": 3.325, - "posZ": 8.169, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Claypool's Furs", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08730\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Clothing.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452300, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "34e723", - "Name": "Card", - "Transform": { - "posX": 79.147, - "posY": 3.329, - "posZ": 7.704, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cookie's Custom .32", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08732\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452302, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1bf025", - "Name": "Card", - "Transform": { - "posX": 78.587, - "posY": 3.33, - "posZ": 7.554, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Anyu", - "Description": "Faithful Companion", - "GMNotes": "{\r\n \"id\": \"08738\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Creature.\",\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 452308, - "SidewaysCard": false, - "CustomDeck": { - "4523": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1858293462583875023/F146A60AEF1FBC9B5FC96189BC1894C468C1E811/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb4fff", - "Name": "Card", - "Transform": { - "posX": 78.502, - "posY": 3.353, - "posZ": 6.88, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dimensional Beam Machine", - "Description": "", - "GMNotes": "{\r\n \"id\": \"87032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Item. Science. Tool. Future.\",\r\n \"wildIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558008, - "SidewaysCard": false, - "CustomDeck": { - "5580": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764609761078/E05F39D952FE0C4E6473E744D64221DD1150F00A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "efe0dd", - "Name": "Card", - "Transform": { - "posX": 78.621, - "posY": 3.324, - "posZ": 8.373, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ezra Graves", - "Description": "Professor of the Arcane", - "GMNotes": "{\r\n \"id\": \"87023\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Scientist. Ally. Present.\",\r\n \"intellectIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558005, - "SidewaysCard": false, - "CustomDeck": { - "5580": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764609761078/E05F39D952FE0C4E6473E744D64221DD1150F00A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "03695f", - "Name": "Card", - "Transform": { - "posX": 79.063, - "posY": 3.325, - "posZ": 8.088, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nikola Tesla", - "Description": "Renowned Inventor", - "GMNotes": "{\r\n \"id\": \"87014\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Scientist. Ally. Past.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558002, - "SidewaysCard": false, - "CustomDeck": { - "5580": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764609761078/E05F39D952FE0C4E6473E744D64221DD1150F00A/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4232d9", - "Name": "Card", - "Transform": { - "posX": 78.798, - "posY": 3.299, - "posZ": 7.305, - "rotX": 2.0, - "rotY": 180.0, - "rotZ": 1.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Wendy Adams (Parallel Back)", - "Description": "The Urchin", - "GMNotes": "{\r\n \"id\": \"01005-pb\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535802, - "SidewaysCard": true, - "CustomDeck": { - "5358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610856838/D7BEC8CBBE4F692DC2033065B210E0C1B0869BB1/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610857202/7BDF70F6A11E1F9779ED6AB2BBD6C8C33A930CDE/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "61503e", - "Name": "Card", - "Transform": { - "posX": 78.22, - "posY": 3.322, - "posZ": 8.844, - "rotX": 359.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Wendy Adams (Parallel Front)", - "Description": "The Urchin", - "GMNotes": "{\r\n \"id\": \"01005-pf\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535801, - "SidewaysCard": true, - "CustomDeck": { - "5358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610856838/D7BEC8CBBE4F692DC2033065B210E0C1B0869BB1/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610857202/7BDF70F6A11E1F9779ED6AB2BBD6C8C33A930CDE/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fd91ea", - "Name": "Card", - "Transform": { - "posX": 78.672, - "posY": 3.332, - "posZ": 7.626, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Wendy Adams (Parallel)", - "Description": "The Urchin", - "GMNotes": "{\r\n \"id\": \"01005-p\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535800, - "SidewaysCard": true, - "CustomDeck": { - "5358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610856838/D7BEC8CBBE4F692DC2033065B210E0C1B0869BB1/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610857202/7BDF70F6A11E1F9779ED6AB2BBD6C8C33A930CDE/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "664b70", - "Name": "Card", - "Transform": { - "posX": 79.372, - "posY": 3.302, - "posZ": 6.698, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wendy's Amulet", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90039\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536001, - "SidewaysCard": false, - "CustomDeck": { - "5360": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610861313/38FA9E4802C3B8E8FC2DB16E94E65A3FD60D92B9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "89fe92", - "Name": "Card", - "Transform": { - "posX": 78.692, - "posY": 3.331, - "posZ": 7.648, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Abandoned and Alone", - "Description": "Advanced", - "GMNotes": "{\r\n \"id\": \"90040\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536002, - "SidewaysCard": false, - "CustomDeck": { - "5360": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610861313/38FA9E4802C3B8E8FC2DB16E94E65A3FD60D92B9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "35a7e9", - "Name": "Card", - "Transform": { - "posX": 47.53, - "posY": 1.986, - "posZ": -99.223, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Abandoned and Alone", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"01515\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587214, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b4f9ee", - "Name": "Card", - "Transform": { - "posX": 79.85, - "posY": 3.318, - "posZ": 6.915, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tidal Memento", - "Description": "", - "GMNotes": "{\r\n \"id\": \"90038\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 536000, - "SidewaysCard": false, - "CustomDeck": { - "5360": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1849293764610861313/38FA9E4802C3B8E8FC2DB16E94E65A3FD60D92B9/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aa38d0", - "Name": "Card", - "Transform": { - "posX": 78.979, - "posY": 3.322, - "posZ": 8.448, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jacob Morrison (3)", - "Description": "Coast Guard Captain", - "GMNotes": "{\r\n \"id\": \"07309\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589808, - "SidewaysCard": false, - "CustomDeck": { - "5898": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "do_not_ready = true", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ca9a60", - "Name": "Card", - "Transform": { - "posX": 78.563, - "posY": 3.327, - "posZ": 7.389, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trusty Bullwhip", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08008\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"agilityIcons\": 2,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379005, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc1506", - "Name": "Card", - "Transform": { - "posX": 78.786, - "posY": 3.328, - "posZ": 8.12, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mob Goons", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"08003\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Criminal.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379002, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "001ae8", - "Name": "Card", - "Transform": { - "posX": 78.919, - "posY": 3.315, - "posZ": 7.759, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guard Dog", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01521\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Creature.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587201, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c7eb1", - "Name": "Card", - "Transform": { - "posX": 78.916, - "posY": 3.319, - "posZ": 7.632, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "First Aid (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01683\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Talent. Science.\",\r\n \"willpowerIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587215, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b9e532", - "Name": "Card", - "Transform": { - "posX": 78.915, - "posY": 3.32, - "posZ": 7.597, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scavenging", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01573\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587210, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3959fa", - "Name": "Card", - "Transform": { - "posX": 78.759, - "posY": 3.32, - "posZ": 7.672, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Will to Survive (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01585\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587216, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "14d8ff", - "Name": "Card", - "Transform": { - "posX": 78.811, - "posY": 3.33, - "posZ": 7.665, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Baseball Bat", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01574\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587211, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "85822c", - "Name": "Card", - "Transform": { - "posX": 78.812, - "posY": 3.318, - "posZ": 7.665, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Medical Texts", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01535\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587202, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07b7a1", - "Name": "Card", - "Transform": { - "posX": 78.811, - "posY": 3.334, - "posZ": 7.665, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Working a Hunch", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01537\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587203, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bc4a4c", - "Name": "Card", - "Transform": { - "posX": 78.811, - "posY": 3.336, - "posZ": 7.665, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deduction", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01539\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587204, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "56b8ad", - "Name": "Card", - "Transform": { - "posX": 78.812, - "posY": 3.317, - "posZ": 7.665, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "First Aid", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01519\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587200, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e0881e", - "Name": "Card", - "Transform": { - "posX": 78.811, - "posY": 3.324, - "posZ": 7.665, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Overpower", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01591\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587208, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "853b6c", - "Name": "Card", - "Transform": { - "posX": 78.812, - "posY": 3.318, - "posZ": 7.665, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Unexpected Courage", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01593\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587212, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d04a1", - "Name": "Card", - "Transform": { - "posX": 78.812, - "posY": 3.32, - "posZ": 7.665, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burglary", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01545\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587206, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d72b97", - "Name": "Card", - "Transform": { - "posX": 48.527, - "posY": 2.015, - "posZ": -121.624, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Daisy's Tote Bag", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01508\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587205, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "132069", - "Name": "Card", - "Transform": { - "posX": 78.811, - "posY": 3.321, - "posZ": 7.665, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hard Knocks", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01549\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587207, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "05d7d5", - "Name": "Card", - "Transform": { - "posX": 48.559, - "posY": 1.986, - "posZ": -126.156, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wendy's Amulet", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01514\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587213, - "SidewaysCard": false, - "CustomDeck": { - "5872": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800079019/C6B0ADB01750372B73B2281CFFDFA5F6F87C2C9E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f60263", - "Name": "Card", - "Transform": { - "posX": 18.521, - "posY": 3.379, - "posZ": -56.923, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Extra Ammunition (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01026\",\r\n \"alternate_ids\": [\r\n \"01526\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Supply.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226337, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "889121", - "Name": "Card", - "Transform": { - "posX": 18.966, - "posY": 3.375, - "posZ": -56.942, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Vicious Blow", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01025\",\r\n \"alternate_ids\": [\r\n \"60119\",\r\n \"01525\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226302, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da46e0", - "Name": "Card", - "Transform": { - "posX": 19.066, - "posY": 3.374, - "posZ": -56.792, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Police Badge (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01027\",\r\n \"alternate_ids\": [\r\n \"01527\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226346, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3b6834", - "Name": "Card", - "Transform": { - "posX": 19.102, - "posY": 3.366, - "posZ": -57.684, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I've had worse\" (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02261\",\r\n \"alternate_ids\": [\r\n \"01684\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 4,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226355, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "86ee68", - "Name": "Card", - "Transform": { - "posX": 19.191, - "posY": 3.372, - "posZ": -56.848, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Machete", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01020\",\r\n \"alternate_ids\": [\r\n \"01520\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226327, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2db518", - "Name": "Card", - "Transform": { - "posX": 19.373, - "posY": 3.366, - "posZ": -57.516, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Evidence!", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01022\",\r\n \"alternate_ids\": [\r\n \"01522\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226309, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "97986a", - "Name": "Card", - "Transform": { - "posX": 19.4, - "posY": 3.368, - "posZ": -57.26, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dynamite Blast", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01024\",\r\n \"alternate_ids\": [\r\n \"01524\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 5,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226319, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1165db", - "Name": "Card", - "Transform": { - "posX": 18.908, - "posY": 3.372, - "posZ": -57.239, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Physical Training", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01017\",\r\n \"alternate_ids\": [\r\n \"60108\",\r\n \"01517\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226323, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c92ea3", - "Name": "Card", - "Transform": { - "posX": 19.667, - "posY": 3.367, - "posZ": -57.214, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shotgun (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01029\",\r\n \"alternate_ids\": [\r\n \"01529\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 5,\r\n \"level\": 4,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226357, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "12660b", - "Name": "Card", - "Transform": { - "posX": 19.447, - "posY": 3.369, - "posZ": -56.623, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".45 Automatic", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01016\",\r\n \"alternate_ids\": [\r\n \"01516\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226330, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8a0060", - "Name": "Card", - "Transform": { - "posX": 18.181, - "posY": 3.381, - "posZ": -57.021, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Old Book of Lore (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"06279\",\r\n \"alternate_ids\": [\r\n \"01686\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 448837, - "SidewaysCard": false, - "CustomDeck": { - "4488": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025943833/DE98A03934DF8FF5B3CF6C53143B15BFC3ED7341/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "719f7e", - "Name": "Card", - "Transform": { - "posX": 19.009, - "posY": 3.375, - "posZ": -56.835, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Seeking Answers (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60227\",\r\n \"alternate_ids\": [\r\n \"01685\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587110, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086984548/E61F3E847797C2C9231829611E0D92BA6376FA67/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 4, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d25b1", - "Name": "Card", - "Transform": { - "posX": 19.437, - "posY": 3.369, - "posZ": -56.625, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cryptic Research (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01043\",\r\n \"alternate_ids\": [\r\n \"01543\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 4,\r\n \"traits\": \"Insight.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430657, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f5bcec", - "Name": "Card", - "Transform": { - "posX": 19.499, - "posY": 3.369, - "posZ": -56.862, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Encyclopedia (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01042\",\r\n \"alternate_ids\": [\r\n \"01542\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Tome.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430646, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b00b76", - "Name": "Card", - "Transform": { - "posX": 19.281, - "posY": 3.37, - "posZ": -57.071, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Disc of Itzamna (2)", - "Description": "Protective Amulet", - "GMNotes": "{\r\n \"id\": \"01041\",\r\n \"alternate_ids\": [\r\n \"01541\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430648, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "378e84", - "Name": "Card", - "Transform": { - "posX": 19.318, - "posY": 3.37, - "posZ": -57.547, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Magnifying Glass (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01040\",\r\n \"alternate_ids\": [\r\n \"01540\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 430637, - "SidewaysCard": false, - "CustomDeck": { - "4306": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3689dd", - "Name": "Card", - "Transform": { - "posX": 18.111, - "posY": 3.675, - "posZ": -56.748, - "rotX": 333.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Barricade (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"50004\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Return to the Night of the Zealot\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 580901, - "SidewaysCard": false, - "CustomDeck": { - "5809": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "edb554", - "Name": "Card", - "Transform": { - "posX": 18.663, - "posY": 3.379, - "posZ": -57.021, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Barricade", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01038\",\r\n \"alternate_ids\": [\r\n \"01538\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368404, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8cf335", - "Name": "Card", - "Transform": { - "posX": 19.065, - "posY": 3.374, - "posZ": -56.817, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mind over Matter", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01036\",\r\n \"alternate_ids\": [\r\n \"01536\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368408, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e5dd39", - "Name": "Card", - "Transform": { - "posX": 18.991, - "posY": 3.375, - "posZ": -56.886, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hyperawareness", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01034\",\r\n \"alternate_ids\": [\r\n \"01534\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368424, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9934d2", - "Name": "Card", - "Transform": { - "posX": 19.523, - "posY": 3.369, - "posZ": -56.769, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Milan Christopher", - "Description": "Professor of Entomology", - "GMNotes": "{\r\n \"id\": \"01033\",\r\n \"alternate_ids\": [\r\n \"01533\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368434, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8f91ce", - "Name": "Card", - "Transform": { - "posX": 19.647, - "posY": 3.367, - "posZ": -56.909, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Research Librarian", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01032\",\r\n \"alternate_ids\": [\r\n \"01532\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368426, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "063fd8", - "Name": "Card", - "Transform": { - "posX": 19.693, - "posY": 3.371, - "posZ": -56.673, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Old Book of Lore", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01031\",\r\n \"alternate_ids\": [\r\n \"01531\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368431, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8cc0a6", - "Name": "Card", - "Transform": { - "posX": 19.43, - "posY": 3.369, - "posZ": -57.033, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Magnifying Glass", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01030\",\r\n \"alternate_ids\": [\r\n \"01530\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368421, - "SidewaysCard": false, - "CustomDeck": { - "3684": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956220005/42E220A3221D2BFA22F1B3A71EEE346A8B0AAD77/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "213853", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Switchblade", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01044\",\r\n \"alternate_ids\": [\r\n \"60307\",\r\n \"01544\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368621, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "da7c01", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pickpocketing", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01046\",\r\n \"alternate_ids\": [\r\n \"01546\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368625, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fe2db3", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".41 Derringer", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01047\",\r\n \"alternate_ids\": [\r\n \"01547\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368628, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eaa415", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leo De Luca", - "Description": "The Louisiana Lion", - "GMNotes": "{\r\n \"id\": \"01048\",\r\n \"alternate_ids\": [\r\n \"01548\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 6,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368631, - "SidewaysCard": false, - "CustomDeck": { - "3686": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "833305", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Elusive", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01050\",\r\n \"alternate_ids\": [\r\n \"01550\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368712, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cdfd9f", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Backstab", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01051\",\r\n \"alternate_ids\": [\r\n \"01551\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368716, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b18b33", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sneak Attack", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01052\",\r\n \"alternate_ids\": [\r\n \"01552\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368713, - "SidewaysCard": false, - "CustomDeck": { - "3687": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a88392", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Opportunist", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01053\",\r\n \"alternate_ids\": [\r\n \"60319\",\r\n \"01553\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 261702, - "SidewaysCard": false, - "CustomDeck": { - "2617": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "27446e", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leo De Luca (1)", - "Description": "The Louisiana Lion", - "GMNotes": "{\r\n \"id\": \"01054\",\r\n \"alternate_ids\": [\r\n \"01554\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 5,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315240, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2fe723", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cat Burglar (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01055\",\r\n \"alternate_ids\": [\r\n \"01555\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 1,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315239, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "308be1", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sure Gamble (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01056\",\r\n \"alternate_ids\": [\r\n \"01556\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Fortune. Insight.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315254, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4eb231", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hot Streak (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01057\",\r\n \"alternate_ids\": [\r\n \"01557\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Fortune.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315258, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "edd6c4", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lockpicks (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03031\",\r\n \"alternate_ids\": [\r\n \"01687\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 1,\r\n \"traits\": \"Item. Tool. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315237, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f57af7", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.373, - "posZ": -54.308, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": ".41 Derringer (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03234\",\r\n \"alternate_ids\": [\r\n \"01688\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Firearm. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 315248, - "SidewaysCard": false, - "CustomDeck": { - "3152": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672861853482/578CFD93B087B0ADA085E7A99062E6191772D6BD/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "80acd2", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Forbidden Knowledge", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01058\",\r\n \"alternate_ids\": [\r\n \"01558\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230316, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa1d67", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Holy Rosary", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01059\",\r\n \"alternate_ids\": [\r\n \"01559\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230323, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "914053", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shrivelling", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01060\",\r\n \"alternate_ids\": [\r\n \"01560\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230328, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8a927c", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrying", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01061\",\r\n \"alternate_ids\": [\r\n \"01561\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230319, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e4505", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Studies", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01062\",\r\n \"alternate_ids\": [\r\n \"01562\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230324, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7307c4", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Arcane Initiate", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01063\",\r\n \"alternate_ids\": [\r\n \"01563\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Sorcerer.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Doom\",\r\n \"token\": \"doom\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230318, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a8298f", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Drawn to the Flame", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01064\",\r\n \"alternate_ids\": [\r\n \"01564\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230304, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6656ad", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ward of Protection", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01065\",\r\n \"alternate_ids\": [\r\n \"01565\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spell. Spirit.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230308, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "30f860", - "Name": "Card", - "Transform": { - "posX": 33.825, - "posY": 3.378, - "posZ": -45.841, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blinding Light", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01066\",\r\n \"alternate_ids\": [\r\n \"01566\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230311, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cd0ac1", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fearless", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01067\",\r\n \"alternate_ids\": [\r\n \"01567\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230303, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d6e57", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mind Wipe (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01068\",\r\n \"alternate_ids\": [\r\n \"01568\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230334, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8254d4", - "Name": "Card", - "Transform": { - "posX": 34.135, - "posY": 3.375, - "posZ": -45.551, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Blinding Light (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01069\",\r\n \"alternate_ids\": [\r\n \"01569\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230342, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "296dc8", - "Name": "Card", - "Transform": { - "posX": 32.981, - "posY": 3.626, - "posZ": -47.412, - "rotX": 349.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Book of Shadows (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01070\",\r\n \"alternate_ids\": [\r\n \"01570\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230354, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07bc04", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grotesque Statue (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01071\",\r\n \"alternate_ids\": [\r\n \"01571\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230356, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f2668", - "Name": "Card", - "Transform": { - "posX": 34.324, - "posY": 3.376, - "posZ": -45.602, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rite of Seeking (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"51007\",\r\n \"alternate_ids\": [\r\n \"01689\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Return to The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 313604, - "SidewaysCard": false, - "CustomDeck": { - "3136": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025945336/04E36F64C2CBE1B4905FF44A869C75EC52CB3A56/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e58d2a", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Scrying (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03236\",\r\n \"alternate_ids\": [\r\n \"01690\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 230350, - "SidewaysCard": false, - "CustomDeck": { - "2303": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956214701/377534905048B61E88314A81F482DD31D6B54038/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "593deb", - "Name": "Card", - "Transform": { - "posX": 32.985, - "posY": 3.325, - "posZ": -47.41, - "rotX": 1.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Leather Coat", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01072\",\r\n \"alternate_ids\": [\r\n \"01572\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Item. Armor.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368820, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f34090", - "Name": "Card", - "Transform": { - "posX": 34.729, - "posY": 3.378, - "posZ": -45.829, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rabbit's Foot", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01075\",\r\n \"alternate_ids\": [\r\n \"60510\",\r\n \"01575\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368823, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f474b1", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stray Cat", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01076\",\r\n \"alternate_ids\": [\r\n \"01576\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Creature.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368824, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc9e1b", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dig Deep", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01077\",\r\n \"alternate_ids\": [\r\n \"01577\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368831, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e8ea95", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cunning Distraction", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01078\",\r\n \"alternate_ids\": [\r\n \"01578\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 5,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368819, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "88d3c0", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"Look what I found!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01079\",\r\n \"alternate_ids\": [\r\n \"60517\",\r\n \"01579\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368816, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ce0dd5", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky!", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01080\",\r\n \"alternate_ids\": [\r\n \"01580\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Fortune.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368810, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "078efb", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Survival Instinct", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01081\",\r\n \"alternate_ids\": [\r\n \"01581\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368800, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9393ec", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Aquinnah (1)", - "Description": "The Forgotten Daughter", - "GMNotes": "{\r\n \"id\": \"01082\",\r\n \"alternate_ids\": [\r\n \"01582\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 5,\r\n \"level\": 1,\r\n \"traits\": \"Ally.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368841, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6aae86", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Close Call (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01083\",\r\n \"alternate_ids\": [\r\n \"01583\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368848, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "439af2", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lucky! (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01084\",\r\n \"alternate_ids\": [\r\n \"01584\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Fortune.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368846, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb9dbb", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Aquinnah (3)", - "Description": "The Forgotten Daughter", - "GMNotes": "{\r\n \"id\": \"02308\",\r\n \"alternate_ids\": [\r\n \"01691\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Ally.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368861, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "eaaee9", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eucatastrophe (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05324\",\r\n \"alternate_ids\": [\r\n \"01692\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Fortune. Blessed.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374419, - "SidewaysCard": false, - "CustomDeck": { - "3744": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065725025946328/561232524C8EAA4B4371B28652F78969E6ED6FFB/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0ab3f1", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Knife", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01086\",\r\n \"alternate_ids\": [\r\n \"01586\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368512, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bb1cce", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flashlight", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01087\",\r\n \"alternate_ids\": [\r\n \"01587\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368515, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "510c0d", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Emergency Cache", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01088\",\r\n \"alternate_ids\": [\r\n \"01588\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Supply.\",\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368509, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8f7289", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guts", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01089\",\r\n \"alternate_ids\": [\r\n \"01589\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"willpowerIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368500, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c6ac19", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Perception", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01090\",\r\n \"alternate_ids\": [\r\n \"01590\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368506, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "679b13", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Manual Dexterity", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01092\",\r\n \"alternate_ids\": [\r\n \"01592\"\r\n ],\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368504, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c4cf62", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bulletproof Vest (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01094\",\r\n \"alternate_ids\": [\r\n \"01594\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Armor.\",\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368521, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "324e49", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Elder Sign Amulet (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01095\",\r\n \"alternate_ids\": [\r\n \"01595\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368522, - "SidewaysCard": false, - "CustomDeck": { - "3685": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956216650/56BA7AB3BBDC1F3C1EA8709F0761D4846B45AF83/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e929f9", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heirloom of Hyperborea", - "Description": "Artifact from Another Life", - "GMNotes": "{\r\n \"id\": \"01012\",\r\n \"alternate_ids\": [\r\n \"01512\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 290422, - "SidewaysCard": false, - "CustomDeck": { - "2904": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "47d6c9", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hospital Debts", - "Description": "Signature", - "GMNotes": "{\r\n \"id\": \"01011\",\r\n \"alternate_ids\": [\r\n \"01511\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 431425, - "SidewaysCard": false, - "CustomDeck": { - "4314": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ea6d44", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Lam", - "Description": "Signature", - "GMNotes": "{\r\n \"id\": \"01010\",\r\n \"alternate_ids\": [\r\n \"01510\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 586823, - "SidewaysCard": false, - "CustomDeck": { - "5868": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276627309509299/3B0E32939EB4599CCE3596975637C90FE4EE1DD6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 6, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6b2550", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Necronomicon", - "Description": "John Dee Translation", - "GMNotes": "{\r\n \"id\": \"01009\",\r\n \"alternate_ids\": [\r\n \"01509\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Item. Tome.\",\r\n \"weakness\": true,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 370323, - "SidewaysCard": false, - "CustomDeck": { - "3703": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ca25bc", - "Name": "Card", - "Transform": { - "posX": 29.34, - "posY": 3.372, - "posZ": -58.908, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cover Up", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01007\",\r\n \"alternate_ids\": [\r\n \"01507\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Task.\",\r\n \"weakness\": true,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Clue\",\r\n \"token\": \"clue\"\r\n }\r\n ],\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 552421, - "SidewaysCard": false, - "CustomDeck": { - "5524": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7d4749", - "Name": "Card", - "Transform": { - "posX": 77.846, - "posY": 4.469, - "posZ": 27.063, - "rotX": 302.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Beat Cop", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01018\",\r\n \"alternate_ids\": [\r\n \"01518\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Police.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 226331, - "SidewaysCard": false, - "CustomDeck": { - "2263": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956212466/C93A881D22B4F7E429025CFAE677DC2EB341D6A6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "249d83", - "Name": "Card", - "Transform": { - "posX": 78.795, - "posY": 3.32, - "posZ": 26.952, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Haunted", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"01098\",\r\n \"alternate_ids\": [\r\n \"01598\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Curse.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527402, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2210c1", - "Name": "Card", - "Transform": { - "posX": 78.777, - "posY": 3.32, - "posZ": 26.967, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Amnesia", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"01096\",\r\n \"alternate_ids\": [\r\n \"01596\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527400, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d83baf", - "Name": "Card", - "Transform": { - "posX": 79.242, - "posY": 3.316, - "posZ": 26.14, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Psychosis", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"01099\",\r\n \"alternate_ids\": [\r\n \"01599\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527403, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "88ee43", - "Name": "Card", - "Transform": { - "posX": 79.054, - "posY": 3.316, - "posZ": 27.227, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hypochondria", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"01100\",\r\n \"alternate_ids\": [\r\n \"01600\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527404, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b239d7", - "Name": "Card", - "Transform": { - "posX": 78.682, - "posY": 3.324, - "posZ": 26.532, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mob Enforcer", - "Description": "Enemy", - "GMNotes": "{\r\n \"id\": \"01101\",\r\n \"alternate_ids\": [\r\n \"01601\"\r\n ],\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Criminal.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527416, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "16a89d", - "Name": "Card", - "Transform": { - "posX": 78.456, - "posY": 3.323, - "posZ": 26.951, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Silver Twilight Acolyte", - "Description": "Enemy", - "GMNotes": "{\r\n \"id\": \"01102\",\r\n \"alternate_ids\": [\r\n \"01602\"\r\n ],\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Cultist. Silver Twilight.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527417, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c17498", - "Name": "Card", - "Transform": { - "posX": 78.876, - "posY": 3.287, - "posZ": 26.84, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Paranoia", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"01097\",\r\n \"alternate_ids\": [\r\n \"01597\"\r\n ],\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 527401, - "SidewaysCard": false, - "CustomDeck": { - "5274": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869048626382/DA1F5817A4067A74D883201F1AFAC096646A455B/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8e4d23", - "Name": "Card", - "Transform": { - "posX": 21.608, - "posY": 4.322, - "posZ": -54.312, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Black Market (2) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08055-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Favor.\",\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558215, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e95ddb", - "Name": "Card", - "Transform": { - "posX": 21.826, - "posY": 4.276, - "posZ": -44.459, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Strange Solution (4) (Taboo)", - "Description": "Acidic Ichor", - "GMNotes": "{\r\n \"id\": \"02263-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 4,\r\n \"traits\": \"Item. Science.\",\r\n \"combatIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558208, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "119880", - "Name": "Card", - "Transform": { - "posX": 21.828, - "posY": 4.323, - "posZ": -45.446, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Signum Crucis (2) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07197-t\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Practiced. Blessed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558201, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d45a81", - "Name": "Card", - "Transform": { - "posX": 21.831, - "posY": 4.369, - "posZ": -46.433, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rite of Equilibrium (5) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07308-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 5,\r\n \"traits\": \"Spell. Blessed. Cursed.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558202, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "213e21", - "Name": "Card", - "Transform": { - "posX": 21.833, - "posY": 4.416, - "posZ": -47.42, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jewel of Aureolus (3) (Taboo)", - "Description": "Gift of the Homunculi", - "GMNotes": "{\r\n \"id\": \"02269-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Relic.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558206, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "669c4e", - "Name": "Card", - "Transform": { - "posX": 21.836, - "posY": 4.462, - "posZ": -48.407, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flute of the Outer Gods (4) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07268-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 4,\r\n \"traits\": \"Item. Instrument. Relic. Cursed.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558213, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a39c3b", - "Name": "Card", - "Transform": { - "posX": 21.838, - "posY": 4.509, - "posZ": -49.395, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Cyclopean Hammer (5) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08093-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian|Mystic\",\r\n \"cost\": 5,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\",\r\n \"willpowerIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558218, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "118264", - "Name": "Card", - "Transform": { - "posX": 21.841, - "posY": 4.555, - "posZ": -50.382, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Counterspell (2) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04110-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Blessed.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558211, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d4ffb", - "Name": "Card", - "Transform": { - "posX": 21.843, - "posY": 4.601, - "posZ": -51.369, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eon Chart (1) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08098-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558216, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ab32db", - "Name": "Card", - "Transform": { - "posX": 21.846, - "posY": 4.648, - "posZ": -52.356, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gené Beauregard (3) (Taboo)", - "Description": "Intrepid Explorer", - "GMNotes": "{\r\n \"id\": \"08099-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 5,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558204, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b925cf", - "Name": "Card", - "Transform": { - "posX": 21.848, - "posY": 4.694, - "posZ": -53.343, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eon Chart (4) (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08100-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker|Rogue\",\r\n \"cost\": 2,\r\n \"level\": 4,\r\n \"traits\": \"Item. Relic.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558217, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "71e4a0", - "Name": "Card", - "Transform": { - "posX": 21.611, - "posY": 4.322, - "posZ": -55.3, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Jeremiah Kirby (Taboo)", - "Description": "Arctic Archaeologist", - "GMNotes": "{\r\n \"id\": \"08032-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Miskatonic. Wayfarer.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558203, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e99e75", - "Name": "Card", - "Transform": { - "posX": 21.631, - "posY": 4.34, - "posZ": -61.229, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ritual Candles (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02029-t\",\r\n \"alternate_ids\": [\r\n \"60405-t\"\r\n ],\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558205, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "77f7f3", - "Name": "Card", - "Transform": { - "posX": 21.634, - "posY": 4.276, - "posZ": -62.25, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Voice of Ra (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60416-t\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558207, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "94cdf6", - "Name": "Card", - "Transform": { - "posX": 21.615, - "posY": 4.323, - "posZ": -56.288, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dark Prophecy (Taboo)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"04032-t\",\r\n \"alternate_ids\": [\r\n \"60417-t\"\r\n ],\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Augury.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Forgotten Age\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558210, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7a73c4", - "Name": "Card", - "Transform": { - "posX": 21.618, - "posY": 4.325, - "posZ": -57.276, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "David Renfield (Taboo)", - "Description": "Esteemed Eschatologist", - "GMNotes": "{\r\n \"id\": \"03112-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Ally. Patron.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558200, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "95fb5e", - "Name": "Card", - "Transform": { - "posX": 16.494, - "posY": 2.209, - "posZ": 52.58, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Charlie Kane", - "Description": "The Politician", - "GMNotes": "{\r\n \"id\": \"09018\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Civic. Socialite.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 843405, - "SidewaysCard": true, - "CustomDeck": { - "8434": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606067/D4B307834101CF1589A9A9AEEC4CE2F65E7DF02F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606436/4C276FC15C46EEB0C65BAE449E7D94445B3E1B57/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "55be9c", - "Name": "Card", - "Transform": { - "posX": 91.988, - "posY": 1.899, - "posZ": 4.66, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Crisis of Identity (Taboo)", - "Description": "Weakness", - "GMNotes": "{\r\n \"id\": \"03019-t\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Madness.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558209, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d3d7fb", - "Name": "Card", - "Transform": { - "posX": 14.202, - "posY": 2.209, - "posZ": 57.016, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Kymani Jones", - "Description": "", - "GMNotes": "{\n \"id\": \"09008-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 846102, - "SidewaysCard": false, - "CustomDeck": { - "8461": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653462/E5CB5A50E22021314BB8963E47516DBE8092D8EF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653683/60799F36ADCEBB9027393DBB518B4025D1953FA0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d187dd", - "Name": "CardCustom", - "Transform": { - "posX": 16.977, - "posY": 2.209, - "posZ": 55.087, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Summoned Servitor", - "Description": "", - "GMNotes": "{\n \"id\": \"09080-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 803600, - "SidewaysCard": false, - "CustomDeck": { - "8036": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1933751217706145663/52AB04A39EC93A7F5EB6EB83F55071BFFCC85FAE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1924744375825905078/AE93F97210BEF54AFA8F50166565A19225AF8ADB/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "43ad8a", - "Name": "Card", - "Transform": { - "posX": 15.301, - "posY": 2.209, - "posZ": 54.496, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Vincent Lee", - "Description": "", - "GMNotes": "{\n \"id\": \"09004-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 846101, - "SidewaysCard": false, - "CustomDeck": { - "8461": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653462/E5CB5A50E22021314BB8963E47516DBE8092D8EF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653683/60799F36ADCEBB9027393DBB518B4025D1953FA0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c0f76c", - "Name": "Card", - "Transform": { - "posX": 16.356, - "posY": 2.209, - "posZ": 55.067, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Carson Sinclair", - "Description": "", - "GMNotes": "{\n \"id\": \"09001-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 846200, - "SidewaysCard": false, - "CustomDeck": { - "8462": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653462/E5CB5A50E22021314BB8963E47516DBE8092D8EF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653683/60799F36ADCEBB9027393DBB518B4025D1953FA0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ac3502", - "Name": "Card", - "Transform": { - "posX": 15.804, - "posY": 2.211, - "posZ": 59.635, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "On the Mend", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09006\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Innate.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587703, - "SidewaysCard": false, - "CustomDeck": { - "5877": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4b371d", - "Name": "Card", - "Transform": { - "posX": 17.433, - "posY": 2.211, - "posZ": 59.485, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bonesaw", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09005\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Tool. Melee.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587702, - "SidewaysCard": false, - "CustomDeck": { - "5877": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c431f3", - "Name": "Card", - "Transform": { - "posX": 20.936, - "posY": 2.21, - "posZ": 51.756, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Vincent Lee", - "Description": "The Doctor", - "GMNotes": "{\r\n \"id\": \"09004\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Medic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 843401, - "SidewaysCard": true, - "CustomDeck": { - "8434": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606067/D4B307834101CF1589A9A9AEEC4CE2F65E7DF02F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606436/4C276FC15C46EEB0C65BAE449E7D94445B3E1B57/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3b3b7a", - "Name": "Card", - "Transform": { - "posX": 14.924, - "posY": 2.209, - "posZ": 57.245, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Darrell Simmons", - "Description": "", - "GMNotes": "{\n \"id\": \"09015-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 846104, - "SidewaysCard": false, - "CustomDeck": { - "8461": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653462/E5CB5A50E22021314BB8963E47516DBE8092D8EF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653683/60799F36ADCEBB9027393DBB518B4025D1953FA0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bb7174", - "Name": "Card", - "Transform": { - "posX": 15.061, - "posY": 2.21, - "posZ": 59.709, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Word of Woe", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09012\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Pact.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379007, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5edfc2", - "Name": "Card", - "Transform": { - "posX": 15.343, - "posY": 2.21, - "posZ": 59.439, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Word of Weal", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09013\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Pact.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379008, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0821d4", - "Name": "Card", - "Transform": { - "posX": 10.69, - "posY": 2.439, - "posZ": 43.876, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deafening Silence", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09014\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Omen.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379009, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "caa382", - "Name": "Card", - "Transform": { - "posX": 10.218, - "posY": 2.201, - "posZ": 44.981, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Darrell's Kodak", - "Description": "Proof in the Pudding", - "GMNotes": "{\r\n \"id\": \"09016\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"startsInPlay\": true,\r\n \"cost\": 2,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379010, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6d2eae", - "Name": "Card", - "Transform": { - "posX": 10.441, - "posY": 2.202, - "posZ": 46.334, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ruined Film", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09017\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Blunder.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379011, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "634e9e", - "Name": "Card", - "Transform": { - "posX": 10.405, - "posY": 2.201, - "posZ": 46.179, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bonnie Walsh", - "Description": "Loyal Assistant", - "GMNotes": "{\r\n \"id\": \"09019\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Civic. Assistant.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379012, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "22e624", - "Name": "Card", - "Transform": { - "posX": 11.289, - "posY": 2.201, - "posZ": 45.064, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Burden of Leadership", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09020\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379013, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d4b254", - "Name": "Card", - "Transform": { - "posX": 11.772, - "posY": 2.203, - "posZ": 49.52, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bolas", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09025\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379018, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "74969c", - "Name": "Card", - "Transform": { - "posX": 11.584, - "posY": 2.204, - "posZ": 52.95, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Breach the Door", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09026\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Tactic. Police.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379019, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d7c63c", - "Name": "Card", - "Transform": { - "posX": 13.019, - "posY": 2.207, - "posZ": 51.627, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grievous Wound", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09027\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379020, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a85f1d", - "Name": "Card", - "Transform": { - "posX": 10.384, - "posY": 2.201, - "posZ": 45.505, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hunter's Armor", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09021\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Armor.\",\r\n \"willpowerIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Enchanted\",\r\n \"xp\": 1,\r\n \"text\": \"Hunter’s Armor gains the Relic trait and takes up an arcane slot instead of a body slot.\",\r\n \"replaces\": {\r\n \"traits\": \"Item. Armor. Relic.\"\r\n }\r\n },\r\n {\r\n \"name\": \"Protective Runes\",\r\n \"xp\": 2,\r\n \"text\": \"Hunter’s Armor may be assigned damage and/or horror dealt to other investigators at your location.\"\r\n },\r\n {\r\n \"name\": \"Durable\",\r\n \"xp\": 2,\r\n \"text\": \"Hunter’s Armor gets +2 health.\"\r\n },\r\n {\r\n \"name\": \"Hallowed\",\r\n \"xp\": 2,\r\n \"text\": \"Hunter’s Armor gets +2 sanity.\"\r\n },\r\n {\r\n \"name\": \"Lightweight\",\r\n \"xp\": 2,\r\n \"text\": \"Hunter’s Armor gets –1 cost and playing it does not provoke attacks of opportunity.\",\r\n \"replaces\": {\r\n \"cost\": 3\r\n }\r\n },\r\n {\r\n \"name\": \"Hexdrinker\",\r\n \"xp\": 3,\r\n \"text\": \"After 1 or more damage or horror is assigned to Hunter’s Armor from a treachery effect, you may exhaust it to draw 1 card.\"\r\n },\r\n {\r\n \"name\": \"Armor of Thorns\",\r\n \"xp\": 3,\r\n \"text\": \"After 1 or more damage or horror is assigned to Hunter’s Armor from an enemy attack, you may exhaust it to deal 1 damage to that enemy.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379014, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "95b0cf", - "Name": "Card", - "Transform": { - "posX": 17.477, - "posY": 2.211, - "posZ": 60.192, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Agent Fletcher", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09010\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Humanoid. Coterie. Detective.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379006, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "972250", - "Name": "Card", - "Transform": { - "posX": 13.244, - "posY": 2.207, - "posZ": 49.728, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Obsidian Bracelet", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09024\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379017, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7cdb0a", - "Name": "Card", - "Transform": { - "posX": 9.923, - "posY": 2.202, - "posZ": 47.493, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Runic Axe", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09022\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"replenish\": 1,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"customizations\": [\r\n {\r\n \"name\": \"Heirloom\",\r\n \"xp\": 1,\r\n \"text\": \"This asset gets -1 cost and gains the Relic trait.\",\r\n \"replaces\": {\r\n \"cost\": 3,\r\n \"traits\": \"Item. Relic. Weapon. Melee.\"\r\n }\r\n },\r\n {\r\n \"name\": \"Inscription of Glory\",\r\n \"xp\": 1,\r\n \"text\": \"Add this inscription: “⟐ Glory - If this attack defeats an enemy, choose one: draw 1 card, heal 1 damage, or heal 1 horror.”\"\r\n },\r\n {\r\n \"name\": \"Inscription of the Elders\",\r\n \"xp\": 1,\r\n \"text\": \"Add this inscription: “⟐ Elders - If this attack succeeds by an amount equal to or grather than your location\\u0027s shroud, discover 1 clue at your location.”\"\r\n },\r\n {\r\n \"name\": \"Inscription of the Hunt\",\r\n \"xp\": 1,\r\n \"text\": \"Add this inscription: “⟐ Hunt - Immediately move to a connecting location or engage an enemy at your location.”\"\r\n },\r\n {\r\n \"name\": \"Inscription of Fury\",\r\n \"xp\": 1,\r\n \"text\": \"Add this inscription: “⟐ Fury - If this attack is successful, in addition to its standard damage, deal 1 damage to each other enemy engaged with you.”\"\r\n },\r\n {\r\n \"name\": \"Ancient Power\",\r\n \"xp\": 3,\r\n \"text\": \"You may imbue the same inscription up to three times.\"\r\n },\r\n {\r\n \"name\": \"Saga\",\r\n \"xp\": 3,\r\n \"text\": \"Replenish 2 of Runic Axe\\u0027s charges at the start of each round, instead of only one\",\r\n \"replaces\": {\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"replenish\": 2,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Scriptweaver\",\r\n \"xp\": 4,\r\n \"text\": \"For every charge spent, you may imbue the axe with up to two different inscriptions.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379015, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d2252d", - "Name": "Card", - "Transform": { - "posX": 10.514, - "posY": 2.202, - "posZ": 47.037, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Custom Modifications", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09023\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Upgrade. Supply.\",\r\n \"customizations\": [\r\n {\r\n \"name\": \"Notched Sight\",\r\n \"xp\": 1,\r\n \"text\": \"If you perform an attack with attached asset against an enemy engaged with another investigator and fail, you deal no damage.\"\r\n },\r\n {\r\n \"name\": \"Extended Stock\",\r\n \"xp\": 2,\r\n \"text\": \"You get +2 Fight while attacking with attached asset.\"\r\n },\r\n {\r\n \"name\": \"Counterbalance\",\r\n \"xp\": 2,\r\n \"text\": \"After you attach an Upgrade card other than Custom Modifications to attached asset, draw 1 card.\"\r\n },\r\n {\r\n \"name\": \"Leather Grip\",\r\n \"xp\": 3,\r\n \"text\": \"Custom Modifications gets –1 cost and gains “Fast. Play only during your turn.”\",\r\n \"replaces\": {\r\n \"cost\": 2\r\n }\r\n },\r\n {\r\n \"name\": \"Extended Magazine\",\r\n \"xp\": 3,\r\n \"text\": \"After ammo is spent from or placed on attached asset by another event, place 1 ammo on attached asset.\"\r\n },\r\n {\r\n \"name\": \"Quicksilver Bullets\",\r\n \"xp\": 4,\r\n \"text\": \"If you succeed by 3 or more while attacking with attached asset, this attack deals +1 damage.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379016, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4b891d", - "Name": "Card", - "Transform": { - "posX": 19.079, - "posY": 2.212, - "posZ": 59.523, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"As you wish\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09002\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Practiced. Expert.\",\r\n \"wildIcons\": 3,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587700, - "SidewaysCard": false, - "CustomDeck": { - "5877": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07dd55", - "Name": "Card", - "Transform": { - "posX": 17.743, - "posY": 2.211, - "posZ": 59.762, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Selfless to a Fault", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09003\",\r\n \"type\": \"Treachery\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Flaw.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 587701, - "SidewaysCard": false, - "CustomDeck": { - "5877": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fb54d3", - "Name": "Card", - "Transform": { - "posX": 18.899, - "posY": 2.212, - "posZ": 59.615, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Wounded Bystander", - "Description": "On Death's Doorstep", - "GMNotes": "{\r\n \"id\": \"09007\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Ally. Bystander.\",\r\n \"weakness\": true,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Damage\",\r\n \"token\": \"damage\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379004, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "09f1a2", - "Name": "Card", - "Transform": { - "posX": 17.983, - "posY": 2.211, - "posZ": 59.36, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grappling Hook", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09009\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379005, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7fe728", - "Name": "Card", - "Transform": { - "posX": 21.624, - "posY": 4.332, - "posZ": -59.253, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mr. \"Rook\" (Taboo)", - "Description": "Dealer in Secrets", - "GMNotes": "{\r\n \"id\": \"05153-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Ally.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558212, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5d3d67", - "Name": "Card", - "Transform": { - "posX": 18.596, - "posY": 2.209, - "posZ": 52.394, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Darrell Simmons", - "Description": "The Photographer", - "GMNotes": "{\r\n \"id\": \"09015\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Reporter.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 843404, - "SidewaysCard": true, - "CustomDeck": { - "8434": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606067/D4B307834101CF1589A9A9AEEC4CE2F65E7DF02F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606436/4C276FC15C46EEB0C65BAE449E7D94445B3E1B57/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9a9830", - "Name": "Card", - "Transform": { - "posX": 17.829, - "posY": 2.21, - "posZ": 54.013, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Kymani Jones", - "Description": "The Security Consultant", - "GMNotes": "{\r\n \"id\": \"09008\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 5,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 843402, - "SidewaysCard": true, - "CustomDeck": { - "8434": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606067/D4B307834101CF1589A9A9AEEC4CE2F65E7DF02F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606436/4C276FC15C46EEB0C65BAE449E7D94445B3E1B57/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c2561", - "Name": "Card", - "Transform": { - "posX": 21.627, - "posY": 4.336, - "posZ": -60.241, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prophesiae Profana (5) (Taboo)", - "Description": "Atlas of the Unknowable", - "GMNotes": "{\r\n \"id\": \"08045-t\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 5,\r\n \"traits\": \"Item. Relic. Tome.\",\r\n \"wildIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 558214, - "SidewaysCard": false, - "CustomDeck": { - "5582": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591019206/E2A281F46FD817435A26C1600F4388A1DC028D5E/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dc96d1", - "Name": "Card", - "Transform": { - "posX": 22.9, - "posY": 2.211, - "posZ": 52.023, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Carson Sinclair", - "Description": "The Butler", - "GMNotes": "{\r\n \"id\": \"09001\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Assistant.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 843400, - "SidewaysCard": true, - "CustomDeck": { - "8434": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606067/D4B307834101CF1589A9A9AEEC4CE2F65E7DF02F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606436/4C276FC15C46EEB0C65BAE449E7D94445B3E1B57/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "475460", - "Name": "Card", - "Transform": { - "posX": 99.067, - "posY": 1.901, - "posZ": 4.603, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Lola Hayes (Taboo)", - "Description": "The Actress", - "GMNotes": "{\r\n \"id\": \"03006-t\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Performer.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 558300, - "SidewaysCard": true, - "CustomDeck": { - "5583": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591067324/8F90B8FDA7E5F0E7B2D9D548397D93A5102FD4BD/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591067181/7B2A1D7E6E8E8ED36BD16FB7C81827DCD33CEB90/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "754b0a", - "Name": "Card", - "Transform": { - "posX": 98.638, - "posY": 1.95, - "posZ": 13.549, - "rotX": 2.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Mandy Thompson (Taboo)", - "Description": "The Researcher", - "GMNotes": "{\r\n \"id\": \"06002-t\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Assistant. Scholar.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dream-Eaters\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 558301, - "SidewaysCard": true, - "CustomDeck": { - "5583": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591067324/8F90B8FDA7E5F0E7B2D9D548397D93A5102FD4BD/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/2053112076591067181/7B2A1D7E6E8E8ED36BD16FB7C81827DCD33CEB90/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "709a54", - "Name": "Card", - "Transform": { - "posX": 16.71, - "posY": 3.371, - "posZ": 65.642, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Underprepared", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"09128\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 1,\r\n \"traits\": \"Blunder.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379152, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "379582", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.374, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ectoplasmic Horror", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"09127\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Geist.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379151, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b6c9f", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.357, - "posZ": 65.637, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pay Your Due", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"09126\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 10,\r\n \"traits\": \"Pact.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379150, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e4c07", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.379, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quantum Paradox", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"09125\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 0,\r\n \"traits\": \"Paradox.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379149, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "79cc11", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.378, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lurker in the Dark", - "Description": "Basic Weakness", - "GMNotes": "{\r\n \"id\": \"09124\",\r\n \"type\": \"Enemy\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Monster. Shoggoth.\",\r\n \"weakness\": true,\r\n \"basicWeaknessCount\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379148, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "52f6d6", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.377, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Soul Sanctification (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09123\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"level\": 3,\r\n \"traits\": \"Ritual.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379147, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2b3301", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.369, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Flashlight (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09122\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379146, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "482b10", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.362, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Refine", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09121\",\r\n \"type\": \"Event\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Supply. Double.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379145, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "769a3e", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.354, - "posZ": 65.637, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Tool Belt", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09120\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Clothing.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379144, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2a6e0d", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.362, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hyperphysical Shotcaster", - "Description": "Theoretical Device", - "GMNotes": "{\r\n \"id\": \"09119\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Weapon. Firearm.\",\r\n \"wildIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Aether\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"customizations\": [\r\n {\r\n \"name\": \"Railshooter\",\r\n \"xp\": 2,\r\n \"text\": \"Hyperphysical Shotcaster has this form: “Manifest – Fight. Fight with any skill. This attack deals +1 damage.”\"\r\n },\r\n {\r\n \"name\": \"Telescanner\",\r\n \"xp\": 2,\r\n \"text\": \"Hyperphysical Shotcaster has this form: “Manifest – Investigate. Investigate with any skill. If you succeed, discover a clue at any revealed location instead of your location.\"\r\n },\r\n {\r\n \"name\": \"Translocator\",\r\n \"xp\": 2,\r\n \"text\": \"Hyperphysical Shotcaster has this form: “Manifest – Evade. Attempt to evade with any skill. Before or after this attempt, you may move an investigator or a non-Elite enemy at your location to a connecting location, or vice versa.”\"\r\n },\r\n {\r\n \"name\": \"Realitycollapser\",\r\n \"xp\": 2,\r\n \"text\": \"Hyperphysical Shotcaster has this form: “Manifest – Test any skill (3). If you succeed, discard from play a non‑weakness treachery that is not attached to an Elite enemy.”\"\r\n },\r\n {\r\n \"name\": \"Matterweaver\",\r\n \"xp\": 2,\r\n \"text\": \"Hyperphysical Shotcaster has this form: “Manifest – Choose an asset in your hand and test any skill (X), where X is that asset’s cost. If you succeed, play that asset at no cost.”\"\r\n },\r\n {\r\n \"name\": \"Aetheric Link\",\r\n \"xp\": 4,\r\n \"text\": \"Hyperphysical Shotcaster enters play with 2 additional aether.\",\r\n \"replaces\": {\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Aether\",\r\n \"token\": \"resource\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Empowered Configuration\",\r\n \"xp\": 4,\r\n \"text\": \"While using a Manifest ability, you get +2 skill value.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379143, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b4684", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.368, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fickle Fortune (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09118\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 3,\r\n \"traits\": \"Dilemma. Fortune.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379142, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e7d988", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.375, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Old Keyring (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09117\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Key\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379141, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f2e87d", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.359, - "posZ": 65.637, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Salvage (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09116\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379140, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3b7419", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.364, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Heed the Dream (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09115\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 2,\r\n \"traits\": \"Augury. Dilemma.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379139, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2f100c", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.367, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Katja Eastbank (2)", - "Description": "Keeper of Esoteric Lore", - "GMNotes": "{\r\n \"id\": \"09114\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Scholar.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379138, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "567525", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.36, - "posZ": 65.637, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Baseball Bat (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09113\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Item. Weapon. Melee.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379137, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4cb0c9", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.369, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gumption (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09112\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Innate.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379136, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9c4015", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.362, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Nature of the Beast (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09111\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Dilemma. Insight.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379135, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "895047", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.371, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lifeline (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09110\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Fortune.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379134, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48e90b", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.361, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "At a Crossroads (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09109\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 1,\r\n \"traits\": \"Dilemma. Insight.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379133, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2c165a", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.377, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Shed a Light", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09108\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379132, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6c726b", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.365, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Predator or Prey", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09107\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Dilemma. Tactic.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379131, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "18247d", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.361, - "posZ": 65.638, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Making Preparations", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09106\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Dilemma. Tactic.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379130, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b6857b", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.369, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Exploit Weakness", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09105\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Trick.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379129, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a3d041", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.357, - "posZ": 65.637, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "End of the Road", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09104\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Spirit.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379128, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "616c43", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.375, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Improvised Shield", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09103\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Armor. Improvised.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379127, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8f6f39", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.375, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Idol of Xanatos", - "Description": "Watcher Beyond Time", - "GMNotes": "{\r\n \"id\": \"09102\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379126, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9417a7", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.361, - "posZ": 65.637, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grizzled", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09101\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Survivor\",\r\n \"level\": 0,\r\n \"traits\": \"Innate. Developed.\",\r\n \"wildIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Specialist\",\r\n \"xp\": 1,\r\n \"text\": \"Choose another trait.\"\r\n },\r\n {\r\n \"name\": \"Specialist\",\r\n \"xp\": 2,\r\n \"text\": \"Choose another trait.\"\r\n },\r\n {\r\n \"name\": \"Nemesis\",\r\n \"xp\": 3,\r\n \"text\": \"If this is a skill test on or against an enemy with a chosen trait and the test is successful, you may attach Grizzled to that enemy. Reduce the difficulty of tests on or against the attached enemy by 1.\"\r\n },\r\n {\r\n \"name\": \"Mythos-Hardened\",\r\n \"xp\": 4,\r\n \"text\": \"If this skill test is on a treachery with a chosen trait and the test is successful, you may add both Grizzled and that treachery to the victory display.\"\r\n },\r\n {\r\n \"name\": \"Always Prepared\",\r\n \"xp\": 5,\r\n \"text\": \"After you draw an encounter card with a chosen trait, return one copy of Grizzled from your discard pile to your hand. (Max once per round.)\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379125, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "aa897f", - "Name": "Card", - "Transform": { - "posX": 16.716, - "posY": 3.371, - "posZ": 65.638, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Makeshift Trap", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09100\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Improvised. Trap.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 2,\r\n \"type\": \"Time\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"customizations\": [\r\n {\r\n \"name\": \"Improved Timer\",\r\n \"xp\": 1,\r\n \"text\": \"When you play Makeshift Trap, you may increase or decrease its uses by 1.\"\r\n },\r\n {\r\n \"name\": \"Tripwire\",\r\n \"xp\": 1,\r\n \"text\": \"Only trigger Makeshift Trap’s forced ability if there are 1 or more enemies at attached location.\"\r\n },\r\n {\r\n \"name\": \"Simple\",\r\n \"xp\": 2,\r\n \"text\": \"Makeshift Trap gains fast and “play during any 🗲 window.”\"\r\n },\r\n {\r\n \"name\": \"Poisonous\",\r\n \"xp\": 2,\r\n \"text\": \"When you remove 1 or more time from Makeshift Trap, deal 1 damage to an enemy at attached location.\"\r\n },\r\n {\r\n \"name\": \"Remote Configuration\",\r\n \"xp\": 2,\r\n \"text\": \"When you play Makeshift Trap, you may attach it to a revealed connecting location.\"\r\n },\r\n {\r\n \"name\": \"Net\",\r\n \"xp\": 3,\r\n \"text\": \"Non-Elite enemies at attached location cannot move or make attacks of opportunity.\"\r\n },\r\n {\r\n \"name\": \"Explosive Device\",\r\n \"xp\": 4,\r\n \"text\": \"When Makeshift Trap has no time and is discarded, deal 3 damage to each enemy and investigator at attached location.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379124, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7421ed", - "Name": "Card", - "Transform": { - "posX": 16.774, - "posY": 3.371, - "posZ": 65.702, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pocket Multi Tool", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09099\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool.\",\r\n \"wildIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Detachable\",\r\n \"xp\": 1,\r\n \"text\": \"Other investigators at your location may use the ability on Pocket Multi-Tool.\"\r\n },\r\n {\r\n \"name\": \"Pry Bar\",\r\n \"xp\": 1,\r\n \"text\": \"You get an additional +1 skill value if this is during a skill test on a treachery.\"\r\n },\r\n {\r\n \"name\": \"Sharpened Knife\",\r\n \"xp\": 2,\r\n \"text\": \"You get an additional +1 skill value if this is during an attack.\"\r\n },\r\n {\r\n \"name\": \"Signal Mirror\",\r\n \"xp\": 2,\r\n \"text\": \"You get an additional +1 skill value if this is during an evasion attempt.\"\r\n },\r\n {\r\n \"name\": \"Magnifying Lens\",\r\n \"xp\": 2,\r\n \"text\": \"You get an additional +1 skill value if this is during an investigation.\"\r\n },\r\n {\r\n \"name\": \"Lucky Charm\",\r\n \"xp\": 3,\r\n \"text\": \"After you fail a skill test, ready Pocket Multi Tool.\"\r\n },\r\n {\r\n \"name\": \"Spring-Loaded\",\r\n \"xp\": 4,\r\n \"text\": \"Pocket Multi Tool’s ability is now a 🗲 ability with the trigger: “When you would fail a skill test you are performing, exhaust Pocket Multi Tool…”\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379123, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "647c62", - "Name": "Card", - "Transform": { - "posX": 16.739, - "posY": 3.347, - "posZ": 65.493, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Onyx Pentacle (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09098\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Charm.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379122, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bcb13d", - "Name": "Card", - "Transform": { - "posX": 16.739, - "posY": 3.374, - "posZ": 65.494, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dowsing Rod (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09097\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Item. Charm.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379121, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4a6a9f", - "Name": "Card", - "Transform": { - "posX": 16.739, - "posY": 3.362, - "posZ": 65.494, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ceremonial Sickle (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09096\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 4,\r\n \"traits\": \"Item. Charm. Weapon. Melee.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379120, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "343f3a", - "Name": "Card", - "Transform": { - "posX": 16.74, - "posY": 3.345, - "posZ": 65.493, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Uncage the Soul (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09095\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 3,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379119, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0c77d6", - "Name": "Card", - "Transform": { - "posX": 16.74, - "posY": 3.343, - "posZ": 65.492, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sin-Eater (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09094\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"level\": 3,\r\n \"traits\": \"Ritual.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379118, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ad3efc", - "Name": "Card", - "Transform": { - "posX": 16.74, - "posY": 3.34, - "posZ": 65.492, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Moonlight Ritual (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09093\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spell. Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379117, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "43c3e0", - "Name": "Card", - "Transform": { - "posX": 16.739, - "posY": 3.361, - "posZ": 65.494, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Elle Rubash (2)", - "Description": "Purifying Purpose", - "GMNotes": "{\r\n \"id\": \"09092\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Witch.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379116, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b5d894", - "Name": "Card", - "Transform": { - "posX": 16.74, - "posY": 3.345, - "posZ": 65.492, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 3.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Astral Mirror (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09091\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379115, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "63282f", - "Name": "Card", - "Transform": { - "posX": 16.699, - "posY": 3.353, - "posZ": 65.711, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ghastly Possession (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09090\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Mystic\",\r\n \"level\": 1,\r\n \"traits\": \"Innate. Spell.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379114, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c72750", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.371, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Binder's Jar (1)", - "Description": "Interdimensional Prison", - "GMNotes": "{\r\n \"id\": \"09089\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Relic.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379113, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "046b16", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.359, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "String of Curses", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09088\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379112, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f86c67", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.357, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Explosive Ward", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09087\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"combatIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379111, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "223eb2", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.356, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Eldritch Initiation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09086\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379110, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "95f4b0", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.359, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Onyx Pentacle", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09085\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379109, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3fa5b8", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.375, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hallowed Chalice", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09084\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379108, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "851e3a", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.371, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dowsing Rod", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09083\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379107, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b5e78c", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.382, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ceremonial Sickle", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09082\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Charm. Weapon. Melee.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379106, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c91c1d", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.381, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Power Word", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09081\",\r\n \"type\": \"Event\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Betray\",\r\n \"xp\": 1,\r\n \"text\": \"Add the command: “⟐ ‘Betray.’ Deal 1 damage to any enemy at this enemy’s location with an equal or lower fight value than this enemy.”\"\r\n },\r\n {\r\n \"name\": \"Mercy\",\r\n \"xp\": 1,\r\n \"text\": \"Add the command: “⟐ ‘Mercy.’ An investigator at this enemy’s location heals damage or horror equal to this enemy’s respective damage/horror value.”\"\r\n },\r\n {\r\n \"name\": \"Confess\",\r\n \"xp\": 1,\r\n \"text\": \"Add the command: “⟐ ‘Confess.’ Discover 1 clue at this enemy’s location if its health is equal to or higher than its location’s shroud.”\"\r\n },\r\n {\r\n \"name\": \"Distract\",\r\n \"xp\": 1,\r\n \"text\": \"Add the command: “⟐ ‘Distract.’ Automatically evade any enemy at this enemy’s location with an equal or lower evade value than this enemy.”\"\r\n },\r\n {\r\n \"name\": \"Greater Control\",\r\n \"xp\": 2,\r\n \"text\": \"Power Word gains “🗲: Return Power Word to your hand.”\"\r\n },\r\n {\r\n \"name\": \"Bonded\",\r\n \"xp\": 3,\r\n \"text\": \"You may activate the parley ability on Power Word from up to one location away from the attached enemy.\"\r\n },\r\n {\r\n \"name\": \"Tonguetwister\",\r\n \"xp\": 3,\r\n \"text\": \"When you parley with Power Word, you may give up to two different commands.\"\r\n },\r\n {\r\n \"name\": \"Thrice Spoken\",\r\n \"xp\": 3,\r\n \"text\": \"You may include three copies of Power Word in your deck. When you give a command using one copy, also give that command to each other enemy with one of your copies of Power Word attached.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379105, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "73b311", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.381, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Summoned Servitor", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09080\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Summon.\",\r\n \"willpowerIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Armored Carapace\",\r\n \"xp\": 1,\r\n \"text\": \"Summoned Servitor gains a health value of 3. It can be assigned damage dealt to any investigator at its location.\"\r\n },\r\n {\r\n \"name\": \"Claws that Catch\",\r\n \"xp\": 1,\r\n \"text\": \"Add this action: “⟐ Fight. You fight any enemy at this location with a base Combat of 4. Ignore the aloof and retaliate keywords for this attack.”\"\r\n },\r\n {\r\n \"name\": \"Jaws that Snatch\",\r\n \"xp\": 1,\r\n \"text\": \"Add this action: “⟐ Evade. You attempt to evade any enemy at this location with a base Agility of 4. Ignore the alert keyword for this evasion attempt.”\"\r\n },\r\n {\r\n \"name\": \"Eyes of Flame\",\r\n \"xp\": 1,\r\n \"text\": \"Add this action: “⟐ Investigate. You investigate this location with a base Intellect of 4.”\"\r\n },\r\n {\r\n \"name\": \"Wings of Night\",\r\n \"xp\": 1,\r\n \"text\": \"After Summoned Servitor moves from your location to a connecting location, you may move to that location, as well.\"\r\n },\r\n {\r\n \"name\": \"Dominance\",\r\n \"xp\": 2,\r\n \"text\": \"Summoned Servitor no longer takes up an (select one): arcane / ally slot.\"\r\n },\r\n {\r\n \"name\": \"Dreaming Call\",\r\n \"xp\": 3,\r\n \"text\": \"Instead of discarding another asset you control in order to play Summoned Servitor, you may return that asset to its owner’s hand.\"\r\n },\r\n {\r\n \"name\": \"Dæmonic Influence\",\r\n \"xp\": 5,\r\n \"text\": \"Summoned Servitor can take 2 different actions instead of 1 during each of your turns.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379104, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "42b36d", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.35, - "posZ": 65.932, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Living Ink", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09079\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Ritual.\",\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"customizations\": [\r\n {\r\n },\r\n {\r\n \"name\": \"Shifting Ink\",\r\n \"xp\": 1,\r\n \"text\": \"You may play Living Ink under the control of another investigator at your location.\"\r\n },\r\n {\r\n \"name\": \"Subtle Depiction\",\r\n \"xp\": 1,\r\n \"text\": \"At the start of your turn, you may choose not to remove 1 charge from Living Ink and ignore its ability for the remainder of the round.\"\r\n },\r\n {\r\n \"name\": \"Imbued Ink\",\r\n \"xp\": 2,\r\n \"text\": \"Living Ink enters play with 2 additional charges and takes up an arcane slot instead of a body slot.\",\r\n \"replaces\": {\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Eldritch Ink\",\r\n \"xp\": 3,\r\n \"text\": \"Circle another skill.\"\r\n },\r\n {\r\n \"name\": \"Eldritch Ink\",\r\n \"xp\": 3,\r\n \"text\": \"Circle another skill.\"\r\n },\r\n {\r\n \"name\": \"Macabre Depiction\",\r\n \"xp\": 3,\r\n \"text\": \"Living Ink gains: “🗲 After you reveal a chaos token with a symbol, exhaust Living Ink: Place 1 charge on it.”\"\r\n },\r\n {\r\n \"name\": \"Vibrancy\",\r\n \"xp\": 3,\r\n \"text\": \"Living Ink grants an additional +1 to the circled skill(s) and –1 to each other skill.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379103, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "537171", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.372, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Clean Sneak (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09078\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 4,\r\n \"traits\": \"Gambit. Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379102, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bba889", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.362, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Underworld Market (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09077\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"level\": 2,\r\n \"traits\": \"Connection. Illicit.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379101, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "11d7ad", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.391, - "posZ": 65.931, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Trigger Man (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09076\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 3,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379100, - "SidewaysCard": false, - "CustomDeck": { - "3791": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119474921/33ED44071C8BCA7379B0E8031F47169B73639E37/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 9, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "be8d1f", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.364, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Thieves' Kit (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09075\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tool. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379068, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3411dd", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.391, - "posZ": 65.931, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Breaking and Entering (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09074\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Trick.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379067, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fa1be0", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.385, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dirty Fighting (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09073\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Talent. Trick. Illicit.\",\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379066, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ea31c2", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.387, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Chuck Fergus (2)", - "Description": "O'Bannion Driver", - "GMNotes": "{\r\n \"id\": \"09072\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Criminal.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379065, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0a1b3a", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.346, - "posZ": 65.933, - "rotX": 357.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Stylish Coat (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09071\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Clothing.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379064, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "dfbed9", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.382, - "posZ": 65.931, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Calculated Risk", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09070\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Rogue\",\r\n \"level\": 0,\r\n \"traits\": \"Gambit. Fated.\",\r\n \"dynamicIcons\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379063, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5cc3d2", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.354, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Quick Getaway", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09069\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Trick.\",\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379062, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4d6da5", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.395, - "posZ": 65.931, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Kicking the Hornet's Nest", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09068\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Gambit. Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379061, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "691652", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.351, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "\"I'll take that!\"", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09067\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Trick. Upgrade. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379060, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "408bce", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.358, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hit and Run", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09066\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Tactic. Trick.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379059, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9bef61", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.363, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hidden Pocket", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09065\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Upgrade. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379058, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "857b53", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.358, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Thieves' Kit", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09064\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 6,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379057, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8fd043", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.346, - "posZ": 65.933, - "rotX": 357.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Embezzled Treasure", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09063\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Item. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379056, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f170fc", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.393, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Disguise", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09062\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Trick. Illicit.\",\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379055, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1cde62", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.378, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Honed Instinct", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09061\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Gambit.\",\r\n \"agilityIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Reflex Response\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following play condition: “\\u003d You take damage or horror.”\"\r\n },\r\n {\r\n \"name\": \"Situational Awareness\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following play condition: “\\u003d A location enters play or is revealed.”\"\r\n },\r\n {\r\n \"name\": \"Killer Instinct\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following play condition: “\\u003d An enemy engages you.”\"\r\n },\r\n {\r\n \"name\": \"Gut Reaction\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following play condition: “\\u003d A treachery enters your threat area .”\"\r\n },\r\n {\r\n \"name\": \"Muscle Memory\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following play condition: “\\u003d You play an asset.”\"\r\n },\r\n {\r\n \"name\": \"Sharpened Talent\",\r\n \"xp\": 2,\r\n \"text\": \"During the action granted by Honed Instinct, you get +2 to each of your skills.\"\r\n },\r\n {\r\n \"name\": \"Impulse Control\",\r\n \"xp\": 3,\r\n \"text\": \"You may include up to three copies of Honed Instinct in your deck. Honed Instinct gets –1 cost.\",\r\n \"replaces\": {\r\n \"cost\": 0\r\n }\r\n },\r\n {\r\n \"name\": \"Force of Habit\",\r\n \"xp\": 5,\r\n \"text\": \"When you play Honed Instinct, you may take 2 actions instead of 1 (one at a time). Then, remove it from the game.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379054, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c332af", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.388, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Friends in Low Places", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09060\",\r\n \"type\": \"Event\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Favor.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Helpful\",\r\n \"xp\": 1,\r\n \"text\": \"When you play Friends in Low Places, you may choose another investigator at your location to resolve its effects.\"\r\n },\r\n {\r\n \"name\": \"Versatile\",\r\n \"xp\": 2,\r\n \"text\": \"Choose another Trait. When you play Friends in Low Places, you may choose one of the looked-at cards with both chosen Traits to add to your hand without spending 1 resource.\"\r\n },\r\n {\r\n \"name\": \"Bolstering\",\r\n \"xp\": 2,\r\n \"text\": \"Each card added to your hand by Friends in Low Places gains a ? icon until the end of the phase.\"\r\n },\r\n {\r\n \"name\": \"Clever\",\r\n \"xp\": 2,\r\n \"text\": \"Instead of shuffling the remaining cards into your deck, you may place each of them on the top of your deck, in any order.\"\r\n },\r\n {\r\n \"name\": \"Prompt\",\r\n \"xp\": 2,\r\n \"text\": \"Friends in Low Places gains fast and “play during any 🗲 window.”\"\r\n },\r\n {\r\n \"name\": \"Experienced\",\r\n \"xp\": 3,\r\n \"text\": \"Increase the number of cards looked at by 3.\"\r\n },\r\n {\r\n \"name\": \"Swift\",\r\n \"xp\": 3,\r\n \"text\": \"You may play one of the cards added to your hand (paying its cost).\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379053, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3369a5", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.392, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Damning Testimony", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09059\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Rogue\",\r\n \"cost\": 4,\r\n \"level\": 0,\r\n \"traits\": \"Item. Illicit.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Evidence\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"customizations\": [\r\n {\r\n \"name\": \"Search Warrant\",\r\n \"xp\": 1,\r\n \"text\": \"While investigating using Damning Testimony, you may ignore any effect or keyword on the investigated location that would trigger.\"\r\n },\r\n {\r\n \"name\": \"Fabricated Evidence\",\r\n \"xp\": 2,\r\n \"text\": \"Damning Testimony enters play with 2 additional evidence on it.\",\r\n \"replaces\": {\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Evidence\",\r\n \"token\": \"resource\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Blackmail\",\r\n \"xp\": 2,\r\n \"text\": \"You get +2 Intellect while investigating using Damning Testimony.\"\r\n },\r\n {\r\n \"name\": \"Extort\",\r\n \"xp\": 3,\r\n \"text\": \"When you successfully investigate using Damning Testimony, you may spend 1 evidence to automatically evade the chosen enemy.\"\r\n },\r\n {\r\n \"name\": \"Surveil\",\r\n \"xp\": 3,\r\n \"text\": \"You may use Damning Testimony’s ability to investigate the chosen enemy’s location instead of your location.\"\r\n },\r\n {\r\n \"name\": \"Expose\",\r\n \"xp\": 4,\r\n \"text\": \"When you successfully investigate using Damning Testimony, you may spend X evidence to discard the chosen enemy if it is non-Elite. X is that enemy’s remaining health.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379052, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f4e7f3", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.387, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Gray's Anatomy (5)", - "Description": "The Doctors' Bible", - "GMNotes": "{\r\n \"id\": \"09058\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 5,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379051, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "33b09e", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.355, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fingerprint Kit (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09057\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 5,\r\n \"level\": 4,\r\n \"traits\": \"Item. Tool.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379050, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c8ecf2", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.373, - "posZ": 65.932, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Surgical Kit (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09056\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tool. Science.\",\r\n \"intellectIcons\": 2,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379049, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a6c839", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.381, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Press Pass (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09055\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Item. Charm.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379048, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3ee7a5", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.395, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. William T. Maleson (2)", - "Description": "Working on Something Bigger", - "GMNotes": "{\r\n \"id\": \"09054\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Miskatonic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379047, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "425841", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.396, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guidance (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09053\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 1,\r\n \"traits\": \"Insight.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379046, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "38a30a", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.376, - "posZ": 65.932, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Existential Riddle (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09052\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Insight. Paradox.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379045, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d084d7", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.39, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Orphic Theory (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09051\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Spell.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379044, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a825ad", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.362, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Lab Coat (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09050\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 1,\r\n \"traits\": \"Item. Clothing. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379043, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "80285f", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.385, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Analysis", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09049\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Seeker\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379042, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1760be", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.4, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Map the Area", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09048\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379041, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "498bc8", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.394, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Captivating Discovery", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09047\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Insight.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379400, - "SidewaysCard": false, - "CustomDeck": { - "3794": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119525055/928CCA871D837CB4FB8E847957747E1E56F14449/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2423d4", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.36, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bizarre Diagnosis", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09046\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Insight. Science.\",\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379039, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a37bd4", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.36, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Research Notes", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09045\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome. Science.\",\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379038, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d1f1d9", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.398, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grim Memoir", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09044\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tome.\",\r\n \"intellectIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Secret\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379037, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "95ca5d", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.386, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dissection Tools", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09043\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Tool. Science.\",\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379036, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b81037", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.4, - "posZ": 65.932, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Raven Quill", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09042\",\r\n \"type\": \"Event\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 3,\r\n \"level\": 0,\r\n \"traits\": \"Item. Relic. Upgrade.\",\r\n \"intellectIcons\": 2,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Living Quill\",\r\n \"xp\": 1,\r\n \"text\": \"Using attached asset’s ➽ abilities does not provoke attacks of opportunity.\"\r\n },\r\n {\r\n \"name\": \"Spectral Binding\",\r\n \"xp\": 1,\r\n \"text\": \"Attached asset does not take up any slots.\"\r\n },\r\n {\r\n \"name\": \"Mystic Vane\",\r\n \"xp\": 2,\r\n \"text\": \"You get +2 skill value while performing skill tests on attached asset.\"\r\n },\r\n {\r\n \"name\": \"Endless Inkwell\",\r\n \"xp\": 2,\r\n \"text\": \"Name two more Tome or Spell assets.\"\r\n },\r\n {\r\n \"name\": \"Energy Sap\",\r\n \"xp\": 2,\r\n \"text\": \"The Raven Quill gains: “🗲 Exhaust The Raven Quill: Move 1 secret or charge from an asset you control to attached asset.”\"\r\n },\r\n {\r\n \"name\": \"Interwoven Ink\",\r\n \"xp\": 3,\r\n \"text\": \"After you resolve an ➽ ability on attached asset, you may exhaust The Raven Quill to ready another asset you control.\"\r\n },\r\n {\r\n \"name\": \"Supernatural Record\",\r\n \"xp\": 4,\r\n \"text\": \"When you play The Raven Quill, instead of attaching it to a named asset you control, you may search your deck, discard pile, and hand for a copy of a named asset and play it (paying its cost). Then, attach The Raven Quill to it.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379035, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "62c67d", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.403, - "posZ": 65.932, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Empirical Hypothesis", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09041\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Talent. Science.\",\r\n \"intellectIcons\": 1,\r\n \"customizations\": [\r\n {\r\n \"name\": \"Pessimistic Outlook\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following criteria: “you run out of cards in your hand.”\"\r\n },\r\n {\r\n \"name\": \"Trial and Error\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following criteria: “you are dealt damage or horror.”\"\r\n },\r\n {\r\n \"name\": \"Independent Variable\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following criteria: “you discard a treachery or enemy from play.”\"\r\n },\r\n {\r\n \"name\": \"Field Research\",\r\n \"xp\": 1,\r\n \"text\": \"Add the following criteria: “you enter a location with 3 or more shroud.”\"\r\n },\r\n {\r\n \"name\": \"Peer Review\",\r\n \"xp\": 2,\r\n \"text\": \"The chosen criteria is met if any investigator at your location meets it, instead of only you. Other investigators at your location may trigger 🗲 abilities on Empirical Hypothesis.\"\r\n },\r\n {\r\n \"name\": \"Research Grant\",\r\n \"xp\": 2,\r\n \"text\": \"Empirical Hypothesis gains: “🗲 Spend 2 evidence: Reduce the cost of the next card you play this phase by 3.”\"\r\n },\r\n {\r\n \"name\": \"Irrefutable Proof\",\r\n \"xp\": 3,\r\n \"text\": \"Empirical Hypothesis gains: “🗲 Spend 3 evidence: Discover 1 clue at your location.”\"\r\n },\r\n {\r\n \"name\": \"Alternative Hypothesis\",\r\n \"xp\": 4,\r\n \"text\": \"After you exhaust Empirical Hypothesis, you may resolve its forced effect, choosing a criteria you have not chosen this round. Then, ready it.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379034, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "502a4d", - "Name": "Card", - "Transform": { - "posX": 16.669, - "posY": 3.341, - "posZ": 65.933, - "rotX": 357.0, - "rotY": 270.0, - "rotZ": 356.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alchemical Distillation", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09040\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"cost\": 2,\r\n \"level\": 0,\r\n \"traits\": \"Item. Science.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 3,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"customizations\": [\r\n {\r\n \"name\": \"Mending Distillate\",\r\n \"xp\": 1,\r\n \"text\": \"Add this option: “⟐ Heal 2 damage.”\"\r\n },\r\n {\r\n \"name\": \"Calming Distillate\",\r\n \"xp\": 1,\r\n \"text\": \"Add this option: “⟐ Heal 2 horror.”\"\r\n },\r\n {\r\n \"name\": \"Enlightening Distillate\",\r\n \"xp\": 1,\r\n \"text\": \"Add this option: “⟐ Place 1 charge or secret on an asset you control.”\"\r\n },\r\n {\r\n \"name\": \"Quickening Distillate\",\r\n \"xp\": 1,\r\n \"text\": \"Add this option: “⟐ Move up to 2 times.”\"\r\n },\r\n {\r\n \"name\": \"Refined\",\r\n \"xp\": 2,\r\n \"text\": \"Alchemical Distillation enters play with 2 additional supplies on it.\",\r\n \"replaces\": {\r\n \"uses\": [\r\n {\r\n \"count\": 5,\r\n \"type\": \"Supply\",\r\n \"token\": \"resource\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Empowered\",\r\n \"xp\": 4,\r\n \"text\": \"When you initiate this skill test, you may increase its difficulty by 2. If you do, increase the value of the effect granted by each option by 1 for this test.\"\r\n },\r\n {\r\n \"name\": \"Perfected\",\r\n \"xp\": 5,\r\n \"text\": \"If you succeed by 2 or more, the chosen investigator may perform two different options instead of one.\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379033, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ac910a", - "Name": "Card", - "Transform": { - "posX": 16.668, - "posY": 3.366, - "posZ": 65.931, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ever Vigilant (4)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09039\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 4,\r\n \"traits\": \"Tactic.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379032, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bdd70d", - "Name": "Card", - "Transform": { - "posX": 16.67, - "posY": 3.346, - "posZ": 65.934, - "rotX": 357.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Girish Kadakia (4)", - "Description": "ICPC Punjab Detective", - "GMNotes": "{\r\n \"id\": \"09038\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 4,\r\n \"traits\": \"Ally. Police.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379031, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c795c8", - "Name": "Card", - "Transform": { - "posX": 17.023, - "posY": 3.37, - "posZ": 66.015, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Martyr's Vambrace (3)", - "Description": "Remnant of the Unknown", - "GMNotes": "{\r\n \"id\": \"09037\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 3,\r\n \"traits\": \"Item. Charm. Armor.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379030, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a4f62a", - "Name": "Card", - "Transform": { - "posX": 17.025, - "posY": 3.354, - "posZ": 65.978, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Prepared for the Worst (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09036\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Tactic.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379029, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "07c480", - "Name": "Card", - "Transform": { - "posX": 17.025, - "posY": 3.38, - "posZ": 65.978, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Handcuffs (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09035\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 2,\r\n \"traits\": \"Item. Police.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379028, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9009db", - "Name": "Card", - "Transform": { - "posX": 17.026, - "posY": 3.329, - "posZ": 65.979, - "rotX": 357.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Guard Dog (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09034\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 3,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Creature.\",\r\n \"willpowerIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379027, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "babfb6", - "Name": "Card", - "Transform": { - "posX": 17.025, - "posY": 3.341, - "posZ": 65.978, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Field Agent (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09033\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 4,\r\n \"level\": 2,\r\n \"traits\": \"Ally. Agency.\",\r\n \"intellectIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379026, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "39e14a", - "Name": "Card", - "Transform": { - "posX": 17.025, - "posY": 3.346, - "posZ": 65.978, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Bestow Resolve (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09032\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 2,\r\n \"level\": 2,\r\n \"traits\": \"Ritual.\",\r\n \"willpowerIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 4,\r\n \"type\": \"Charge\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379025, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7d93b4", - "Name": "Card", - "Transform": { - "posX": 17.027, - "posY": 3.317, - "posZ": 65.979, - "rotX": 356.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Helping Hand", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09031\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Innate.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379024, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fc2432", - "Name": "Card", - "Transform": { - "posX": 17.025, - "posY": 3.364, - "posZ": 65.978, - "rotX": 358.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Fighting Lessons", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09030\",\r\n \"type\": \"Skill\",\r\n \"class\": \"Guardian\",\r\n \"level\": 0,\r\n \"traits\": \"Practiced.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379023, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "919856", - "Name": "Card", - "Transform": { - "posX": 17.025, - "posY": 3.325, - "posZ": 65.978, - "rotX": 356.0, - "rotY": 270.0, - "rotZ": 358.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "One in the Chamber", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09029\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Fortune. Tactic.\",\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"uses\": [\r\n {\r\n \"count\": 1,\r\n \"type\": \"Ammo\",\r\n \"token\": \"resource\"\r\n }\r\n ],\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379022, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1b2331", - "Name": "Card", - "Transform": { - "posX": 16.925, - "posY": 3.365, - "posZ": 65.887, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Motivational Speech", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09028\",\r\n \"type\": \"Event\",\r\n \"class\": \"Guardian\",\r\n \"cost\": 0,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379600, - "SidewaysCard": false, - "CustomDeck": { - "3796": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119534890/F45F9E6F67C91566D8CC5EC783E4372B264A349D/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4cfcc7", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.059, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Test of Will (1)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03156\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 1,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 368837, - "SidewaysCard": false, - "CustomDeck": { - "3688": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860672864134253/9A6E0399D3624C5FFBD6CAFE5D4B988436CC65AC/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "71a760", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.059, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Test of Will (2)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60523\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 0,\r\n \"level\": 2,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550821, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48e516", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.059, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "A Test of Will", - "Description": "", - "GMNotes": "{\r\n \"id\": \"60513\",\r\n \"type\": \"Event\",\r\n \"class\": \"Survivor\",\r\n \"cost\": 1,\r\n \"level\": 0,\r\n \"traits\": \"Spirit.\",\r\n \"willpowerIcons\": 1,\r\n \"cycle\": \"Investigator Packs\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 550811, - "SidewaysCard": false, - "CustomDeck": { - "5508": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320456298038335/2CA532D7F0EED2B2B40E47709AC56D85C4613A33/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5397a6", - "Name": "CardCustom", - "Transform": { - "posX": 76.594, - "posY": 15.185, - "posZ": 23.992, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Summoned Servitor Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09080-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847400, - "SidewaysCard": false, - "CustomDeck": { - "8474": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001663439/1504B1E5063D0E6E29B25BD4BCBF58314F28C723/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/SummonedServitorUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/SummonedServitorUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Summoned Servitor\r\n\r\n-- Color information for buttons\r\nboxSize = 35\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.068\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.92,\r\n -0.625,\r\n -0.33,\r\n 0.055,\r\n 0.26,\r\n 0.56,\r\n 0.765,\r\n 1.06\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 1, 1, 1, 2, 3, 5 }\r\ninputBoxes = {}\r\n\r\n-- Locations of the slot selectors\r\nSLOT_ICON_POSITIONS = {\r\n arcane = { x = 0.160, z = 0.65 },\r\n ally = { x = -0.073, z = 0.65 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nSLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n--selectedSlot = SLOT_INDICES.none\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.92,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.625,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.33,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = 0.055,\r\n count = 1,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.26,\r\n count = 1,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.56,\r\n count = 2,\r\n }\r\n -- Row 6 includes the selection of Arcane/Ally slot, presented with buttons but stored\r\n -- as a text field\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.765,\r\n count = 3,\r\n },\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 1.06,\r\n count = 5,\r\n },\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\"]]", - "XmlUI": "" - }, - { - "GUID": "be427d", - "Name": "CardCustom", - "Transform": { - "posX": 77.21, - "posY": 15.186, - "posZ": 23.122, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Runic Axe Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09022-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 846500, - "SidewaysCard": false, - "CustomDeck": { - "8465": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001661165/2E6E5A47269C0532815EC1A5B571135EAEAB9BE2/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/customizable/RunicAxeUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/RunicAxeUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Runic Axe\r\n\r\n-- Color information for buttons\r\nboxSize = 38\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.0705\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.92,\r\n -0.715,\r\n -0.415,\r\n -0.018,\r\n 0.265,\r\n 0.66,\r\n 0.86,\r\n 1.065\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 1, 1, 1, 3, 3, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.92,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.715,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.415,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.018,\r\n count = 1,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.265,\r\n count = 1,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.66,\r\n count = 3,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.86,\r\n count = 3,\r\n },\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 1.065,\r\n count = 4,\r\n },\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "0d9481", - "Name": "CardCustom", - "Transform": { - "posX": 75.627, - "posY": 9.194, - "posZ": 15.561, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Power Word Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09081-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847500, - "SidewaysCard": false, - "CustomDeck": { - "8475": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001657918/0FE90FDD749B634CA350D339CDF347C37D0F2938/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/PowerWordUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/PowerWordUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Power Word\r\n\r\n-- Color information for buttons\r\nboxSize = 38\r\n\r\n-- static values\r\nxInitial = -0.933\r\nxOffset = 0.069\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.905,\r\n -0.6,\r\n -0.32,\r\n -0.02,\r\n 0.28,\r\n 0.48,\r\n 0.775,\r\n 0.975\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 1, 1, 2, 3, 3, 3 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.905,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.6,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.32,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.02,\r\n count = 1,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.28,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.48,\r\n count = 3,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.775,\r\n count = 3,\r\n },\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 0.975,\r\n count = 3,\r\n },\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "d706e7", - "Name": "CardCustom", - "Transform": { - "posX": 76.202, - "posY": 9.187, - "posZ": 17.358, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Pocket Multi Tool Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09099-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847600, - "SidewaysCard": false, - "CustomDeck": { - "8476": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001655658/A12951A03B25D88571DC040186DFE4D87E029E54/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/PocketMultiToolUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/PocketMultiToolUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Pocket Multi Tool\r\n\r\n-- Color information for buttons\r\nboxSize = 40\r\n\r\n-- static values\r\nxInitial = -0.933\r\nxOffset = 0.075\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.892,\r\n -0.560,\r\n -0.326,\r\n -0.092,\r\n 0.142,\r\n 0.376,\r\n 0.610\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 2, 2, 2, 3, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.892,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.560,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.326,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.092,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.142,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.376,\r\n count = 3,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.610,\r\n count = 4,\r\n },\r\n },\r\n}\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "64dfce", - "Name": "CardCustom", - "Transform": { - "posX": 74.02, - "posY": 2.549, - "posZ": 18.185, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Makeshift Trap Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09100-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847700, - "SidewaysCard": false, - "CustomDeck": { - "8477": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001652536/C0175E8B1C56AE41CCC96263BC7FB7D3A13B4F8F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/MakeshiftTrapUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/MakeshiftTrapUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Makeshift Trap\r\n\r\n-- Color information for buttons\r\nboxSize = 39\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.0735\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.889,\r\n -0.655,\r\n -0.325,\r\n -0.085,\r\n 0.252,\r\n 0.585,\r\n 0.927\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 2, 2, 2, 3, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.889,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.655,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.325,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.085,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.252,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.585,\r\n count = 3,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.927,\r\n count = 4,\r\n },\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "19a05b", - "Name": "CardCustom", - "Transform": { - "posX": -23.264, - "posY": 3.488, - "posZ": -44.194, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Living Ink Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09079-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847300, - "SidewaysCard": false, - "CustomDeck": { - "8473": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001650323/4356445C44C1DEECFE3F70986569B6149E87FBB7/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/LivingInkUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/LivingInkUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Living Ink\r\n\r\n-- Size information for buttons\r\nboxSize = 40\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.075\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.69,\r\n -0.355,\r\n 0.0855,\r\n 0.425,\r\n 0.555,\r\n 0.685,\r\n 1.02\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 2, 2, 3, 3, 3 }\r\ninputBoxes = {}\r\n\r\n-- Locations of the skill selectors\r\nSKILL_ICON_POSITIONS = {\r\n willpower = { x = 0.085, z = -0.88 },\r\n intellect = { x = -0.183, z = -0.88 },\r\n combat = { x = -0.473, z = -0.88 },\r\n agility = { x = -0.74, z = -0.88 },\r\n}\r\n\r\ncustomizations = {\r\n [1] = { }, -- Empty placeholder for skill selection row, handled by custom skill display\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.69,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.355,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = 0.0855,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.425,\r\n count = 2,\r\n }\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.555,\r\n count = 3,\r\n },\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.685,\r\n count = 3,\r\n }\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 1.02,\r\n count = 3,\r\n },\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[]]", - "XmlUI": "" - }, - { - "GUID": "a4eec2", - "Name": "CardCustom", - "Transform": { - "posX": 76.502, - "posY": 9.188, - "posZ": 17.475, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hyperphysical Shotcaster Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09119-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847900, - "SidewaysCard": false, - "CustomDeck": { - "8479": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001647291/D1741C8E39E302A3326199AF12767BBFABBFA52F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/customizable/HyperphysicalShotcasterUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/HyperphysicalShotcasterUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Hyperphysical Shotcaster\r\n\r\n-- Color information for buttons\r\nboxSize = 38\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.069\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.9,\r\n -0.615,\r\n -0.237,\r\n 0.232,\r\n 0.61,\r\n 0.988,\r\n 1.185\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 2, 2, 2, 2, 2, 4, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.9,\r\n count = 2,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.615,\r\n count = 2,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.237,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = 0.232,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.61,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.988,\r\n count = 4,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 1.185,\r\n count = 4,\r\n },\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "d2d01b", - "Name": "CardCustom", - "Transform": { - "posX": 75.359, - "posY": 15.185, - "posZ": 24.462, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hunter's Armor Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09021-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 846400, - "SidewaysCard": false, - "CustomDeck": { - "8464": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001644550/5928FAE339AFD5204EE2F03C2AD68F8F29599810/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/HuntersArmorUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/HuntersArmorUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Hunter's Armor\r\n\r\n-- Color information for buttons\r\nboxSize = 40\r\n\r\n-- static values\r\nxInitial = -0.933\r\nxOffset = 0.075\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.892,\r\n -0.560,\r\n -0.220,\r\n -0.092,\r\n 0.047,\r\n 0.376,\r\n 0.820\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 2, 2, 2, 2, 3, 3 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.892,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.560,\r\n count = 2,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.220,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.092,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.047,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.376,\r\n count = 3,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.820,\r\n count = 3,\r\n },\r\n },\r\n}\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "ba0e34", - "Name": "CardCustom", - "Transform": { - "posX": 72.993, - "posY": 2.546, - "posZ": 16.192, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Honed Instinct Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09061-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847200, - "SidewaysCard": false, - "CustomDeck": { - "8472": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001641646/883834FFB64057188FF52146B30DC6DA36FCDF71/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/HonedInstinctUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/HonedInstinctUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Honed Instinct\r\n\r\n-- Color information for buttons\r\nboxSize = 38\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.069\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.905,\r\n -0.705,\r\n -0.5,\r\n -0.29,\r\n -0.09,\r\n 0.12,\r\n 0.325,\r\n 0.62\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 1, 1, 1, 2, 3, 5 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.905,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.705,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.5,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.29,\r\n count = 1,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = -0.09,\r\n count = 1,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.12,\r\n count = 2,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.325,\r\n count = 3,\r\n },\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 0.62,\r\n count = 5,\r\n }\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "ef8f08", - "Name": "CardCustom", - "Transform": { - "posX": 75.73, - "posY": 9.192, - "posZ": 15.558, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Grizzled Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09101-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847800, - "SidewaysCard": false, - "CustomDeck": { - "8478": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001639376/3AB82488B75B16FBFC07722963E64E1532572CBD/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/GrizzledUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/GrizzledUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Grizzled\r\n\r\n-- Color information for buttons and input boxes\r\nboxSize = 40\r\ninputFontsize = 50\r\n\r\n-- static values\r\nxInitial = -0.933\r\nxOffset = 0.075\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.71,\r\n -0.458,\r\n -0.205,\r\n 0.362,\r\n 0.82\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 2, 3, 4, 5 }\r\ninputBoxes = { 1, 1, 1 }\r\ninputWidth = { 600, 875, 875 }\r\ninputPos = { { 0.3, 0.25, -0.91 }, { 0.005, 0.25, -0.58 }, { 0.005, 0.25, -0.32 } }\r\ncustomizations = {\r\n [1] = {\r\n textField = {\r\n position = { 0.3, 0.25, -0.91 },\r\n width = 600\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.71,\r\n count = 1,\r\n },\r\n textField = {\r\n position = { 0.005, 0.25, -0.58 },\r\n width = 875\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.458,\r\n count = 2,\r\n },\r\n textField = {\r\n position = { 0.005, 0.25, -0.32 },\r\n width = 875\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.205,\r\n count = 3,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.362,\r\n count = 4,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.82,\r\n count = 5,\r\n },\r\n },\r\n}\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "9fb3b9", - "Name": "CardCustom", - "Transform": { - "posX": 76.254, - "posY": 15.185, - "posZ": 23.114, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Friends in Low Places Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09060-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847100, - "SidewaysCard": false, - "CustomDeck": { - "8471": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001637087/1946EC3599E69417BEBD1376023DE45C5E696FC9/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/FriendsinLowPlacesUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/FriendsinLowPlacesUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Friends in Low Places\r\n\r\n-- Color information for buttons and input boxes\r\nboxSize = 36\r\ninputFontsize = 50\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.0685\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.725,\r\n -0.44,\r\n -0.05,\r\n 0.25,\r\n 0.545,\r\n 0.75,\r\n 0.95\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 2, 2, 2, 2, 3, 3 }\r\ninputBoxes = { 1, 1 }\r\ninputWidth = { 640, 290 }\r\ninputPos = { { 0.275, 0.25, -0.91 }, { 0.6295, 0.25, -0.44 } }\r\n\r\ncustomizations = {\r\n [1] = {\r\n textField = {\r\n position = { 0.275, 0.25, -0.91 },\r\n width = 640\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.725,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.44,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.05,\r\n count = 2,\r\n },\r\n textField = {\r\n position = { 0.6295, 0.25, -0.44 },\r\n width = 290\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.25,\r\n count = 2,\r\n }\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.545,\r\n count = 2,\r\n },\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.75,\r\n count = 3,\r\n }\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 0.95,\r\n count = 3,\r\n }\r\n },\r\n}\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "0c46a7", - "Name": "CardCustom", - "Transform": { - "posX": 76.001, - "posY": 15.185, - "posZ": 23.873, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Empirical Hypothesis Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09041-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 846800, - "SidewaysCard": false, - "CustomDeck": { - "8468": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001678003/AE285518E8833C6E5B3239A8B2ABF49D021F01FC/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/EmpiricalHypothesisUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/EmpiricalHypothesisUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Empirical Hypothesis\r\n\r\n-- Color information for buttons\r\nboxSize = 37\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.069\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.905,\r\n -0.7,\r\n -0.505,\r\n -0.3,\r\n -0.09,\r\n 0.3,\r\n 0.592,\r\n 0.888\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 1, 1, 2, 2, 3, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.905,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.7,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.505,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.3,\r\n count = 1,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = -0.09,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.3,\r\n count = 2,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.592,\r\n count = 3,\r\n },\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 0.888,\r\n count = 4,\r\n }\r\n },\r\n}\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "dc4a62", - "Name": "CardCustom", - "Transform": { - "posX": 74.199, - "posY": 2.549, - "posZ": 15.618, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Damning Testimony Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09059-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847000, - "SidewaysCard": false, - "CustomDeck": { - "8470": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001633028/26CBF360B209B69F66C0875118727E742B7D16CD/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/DamningTestimonyUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/DamningTestimonyUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Damning Testimony\r\n\r\n-- Color information for buttons\r\nboxSize = 40\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.075\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.925,\r\n -0.475,\r\n -0.25,\r\n -0.01,\r\n 0.428,\r\n 0.772\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 2, 2, 3, 3, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.925,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.475,\r\n count = 2,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.25,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.01,\r\n count = 3,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.428,\r\n count = 3,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.772,\r\n count = 4,\r\n }\r\n },\r\n}\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "4104bf", - "Name": "CardCustom", - "Transform": { - "posX": 76.658, - "posY": 9.187, - "posZ": 17.581, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Custom Modifications Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09023-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 846600, - "SidewaysCard": false, - "CustomDeck": { - "8466": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001629811/23FCEFC53D1F2E5A44F6E4B9467C6362459914AA/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/customizable/CustomModificationsUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/CustomModificationsUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Custom Modifications\r\n\r\n-- Color information for buttons\r\nboxSize = 38\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.0735\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.895,\r\n -0.455,\r\n -0.215,\r\n 0.115,\r\n 0.453,\r\n 0.794\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 2, 2, 3, 3, 4 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.895,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.455,\r\n count = 2,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.215,\r\n count = 2,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = 0.115,\r\n count = 3,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.453,\r\n count = 3,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.794,\r\n count = 4,\r\n }\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "156166", - "Name": "CardCustom", - "Transform": { - "posX": 76.131, - "posY": 9.189, - "posZ": 19.267, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Alchemical Distillation Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09040-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 846700, - "SidewaysCard": false, - "CustomDeck": { - "8467": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001675240/93B59C1A3D29C3B34A9184C0C67F485777F913CB/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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(\"playercards/customizable/AlchemicalDistillationUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: Alchemical Distillation\r\n\r\n-- Color information for buttons\r\nboxSize = 40\r\n\r\n-- static values\r\nxInitial = -0.933\r\nxOffset = 0.075\r\n\r\n-- z-values (lines on the sheet)\r\nposZ = {\r\n -0.892,\r\n -0.665,\r\n -0.430,\r\n -0.092,\r\n 0.142,\r\n 0.376,\r\n 0.815\r\n}\r\n\r\n-- box setup (amount of boxes per line and amount of marked boxes in that line)\r\nexistingBoxes = { 1, 1, 1, 1, 2, 4, 5 }\r\ninputBoxes = {}\r\n\r\ncustomizations = {\r\n [1] = {\r\n checkboxes = {\r\n posZ = -0.892,\r\n count = 1,\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.665,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.43,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.092,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = 0.142,\r\n count = 2,\r\n },\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.376,\r\n count = 4,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.815,\r\n count = 5,\r\n }\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/customizable/AlchemicalDistillationUpgradeSheet\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "342311", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.058, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Sefina Rousseau", - "Description": "The Painter", - "GMNotes": "{\r\n \"id\": \"03003\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Artist.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 270912, - "SidewaysCard": true, - "CustomDeck": { - "2709": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "804397", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.064, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Astronomical Atlas (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08067\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Mystic\",\r\n \"cost\": 3,\r\n \"level\": 3,\r\n \"traits\": \"Item. Tome.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 2,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 379057, - "SidewaysCard": false, - "CustomDeck": { - "3790": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7b7d14", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.059, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Ancestral Knowledge (3)", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07303\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Seeker\",\r\n \"level\": 3,\r\n \"traits\": \"Talent.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 589202, - "SidewaysCard": false, - "CustomDeck": { - "5892": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1807607979163972370/50A45AE585D6404E677DFCA597A0F5FE13346B97/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4271cb", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.059, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Rex Murphy", - "Description": "The Reporter", - "GMNotes": "{\r\n \"id\": \"02002\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Reporter.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450003, - "SidewaysCard": true, - "CustomDeck": { - "4500": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9724b7", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.071, - "posZ": 27.143, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Rex Murphy (Taboo)", - "Description": "The Reporter", - "GMNotes": "{\r\n \"id\": \"02002-t\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Reporter.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 592900, - "SidewaysCard": true, - "CustomDeck": { - "5929": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1016065907888685007/A30CCF98600F1E9FA0F3EE674FE35BCD86CB6ECB/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627733218/4FBA1E1F82086229D9475F640AD6FF969624BE79/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9ba3f0", - "Name": "Card", - "Transform": { - "posX": 78.511, - "posY": 1.074, - "posZ": 27.143, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Rex Murphy", - "Description": "", - "GMNotes": "{\n \"id\": \"02002-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 259206, - "SidewaysCard": false, - "CustomDeck": { - "2592": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "876557", - "Name": "Card", - "Transform": { - "posX": 78.272, - "posY": 1.061, - "posZ": 26.808, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Duke", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02014\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Creature.\",\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 371112, - "SidewaysCard": false, - "CustomDeck": { - "3711": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4f46ad", - "Name": "Card", - "Transform": { - "posX": 78.272, - "posY": 1.189, - "posZ": 26.808, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 353.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Sophie", - "Description": "", - "GMNotes": "{\r\n \"id\": \"03009\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"startsInPlay\": true,\r\n \"traits\": \"Item. Spirit.\",\r\n \"cycle\": \"The Path to Carcosa\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 374264, - "SidewaysCard": false, - "CustomDeck": { - "3742": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960860341956229149/FC980D306FA8FE74C552981167CBDF4305821B31/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/960860341956230050/FB390FF37A182334B982AA19488275BB5C6E2219/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "458edc", - "Name": "Card", - "Transform": { - "posX": 78.272, - "posY": 1.057, - "posZ": 26.808, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Amina Zidane", - "Description": "", - "GMNotes": "{\n \"id\": \"09011-m\",\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 846103, - "SidewaysCard": false, - "CustomDeck": { - "8461": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653462/E5CB5A50E22021314BB8963E47516DBE8092D8EF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119653683/60799F36ADCEBB9027393DBB518B4025D1953FA0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "4c2a3d", - "Name": "Card", - "Transform": { - "posX": 78.654, - "posY": 3.323, - "posZ": 36.175, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Amina Zidane", - "Description": "The Operator", - "GMNotes": "{\r\n \"id\": \"09011\",\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Chosen. Cursed.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 843403, - "SidewaysCard": true, - "CustomDeck": { - "8434": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606067/D4B307834101CF1589A9A9AEEC4CE2F65E7DF02F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119606436/4C276FC15C46EEB0C65BAE449E7D94445B3E1B57/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "23b96a", - "Name": "CardCustom", - "Transform": { - "posX": 78.804, - "posY": 3.327, - "posZ": 36.477, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "The Raven Quill Upgrade Sheet", - "Description": "", - "GMNotes": "{\n \"id\": \"09042-c\",\n \"type\": \"UpgradeSheet\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 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, - "CardID": 847000, - "SidewaysCard": false, - "CustomDeck": { - "8470": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1829048801001665853/B6505FEB706A5E9F2C181C30EA48A606D2B950A5/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119682452/BD224FCE1980DBA38E5A687FABFD146AA1A30D0E/", - "NumWidth": 1, - "NumHeight": 1, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "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)\nrequire(\"playercards/customizable/TheRavenQuillUpgradeSheet\")\nend)\n__bundle_register(\"playercards/customizable/TheRavenQuillUpgradeSheet\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Customizable Cards: The Raven Quill\r\n\r\n-- Color information for buttons and input boxes\r\nboxSize = 37\r\ninputFontsize = 38\r\n\r\n-- static values\r\nxInitial = -0.935\r\nxOffset = 0.0705\r\n\r\ncustomizations = {\r\n [1] = {\r\n textField = {\r\n position = { 0.5, 0.25, -0.905 },\r\n width = 425\r\n }\r\n },\r\n [2] = {\r\n checkboxes = {\r\n posZ = -0.72,\r\n count = 1,\r\n }\r\n },\r\n [3] = {\r\n checkboxes = {\r\n posZ = -0.52,\r\n count = 1,\r\n }\r\n },\r\n [4] = {\r\n checkboxes = {\r\n posZ = -0.305,\r\n count = 2,\r\n }\r\n },\r\n [5] = {\r\n checkboxes = {\r\n posZ = -0.105,\r\n count = 2,\r\n },\r\n textField = {\r\n position = { 0.125, 0.25, 0 },\r\n width = 775\r\n }\r\n },\r\n [6] = {\r\n checkboxes = {\r\n posZ = 0.1,\r\n count = 2,\r\n }\r\n },\r\n [7] = {\r\n checkboxes = {\r\n posZ = 0.4,\r\n count = 3,\r\n }\r\n },\r\n [8] = {\r\n checkboxes = {\r\n posZ = 0.695,\r\n count = 4,\r\n }\r\n },\r\n}\r\n\r\nrequire(\"playercards/customizable/UpgradeSheetLibrary\")\r\nend)\n__bundle_register(\"playercards/customizable/UpgradeSheetLibrary\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Common code for handling customizable card upgrade sheets\r\n-- Define UI elements in the base card file, then include this\r\n-- UI element definition is an array of tables, each with this structure. A row may include\r\n-- checkboxes (number defined by count), a text field, both, or neither (if the row has custom\r\n-- handling, as Living Ink does)\r\n-- {\r\n-- checkboxes = {\r\n-- posZ = -0.71,\r\n-- count = 1,\r\n-- },\r\n-- textField = {\r\n-- position = { 0.005, 0.25, -0.58 },\r\n-- width = 875\r\n-- }\r\n-- }\r\n-- Fields should also be defined for xInitial (left edge of the checkboxes) and xOffset (amount to\r\n-- shift X from one box to the next) as well as boxSize (checkboxes) and inputFontSize.\r\n--\r\n-- selectedUpgrades holds the state of checkboxes and text input, each element being:\r\n-- selectedUpgrades[row] = { xp = #, text = \"\" }\r\n\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- Y position for UI elements. Visibility of checkboxes moves the checkbox inside the card object\r\n-- when not selected.\r\nlocal Y_VISIBLE = 0.25\r\nlocal Y_INVISIBLE = -0.5\r\n\r\n-- Used for Summoned Servitor and Living Ink\r\nlocal VECTOR_COLOR = {\r\n unselected = { 0.5, 0.5, 0.5, 0.75 },\r\n mystic = { 0.597, 0.195, 0.796 }\r\n}\r\n\r\n-- These match with ArkhamDB's way of storing the data in the dropdown menu\r\nlocal SUMMONED_SERVITOR_SLOT_INDICES = { arcane = \"1\", ally = \"0\", none = \"\" }\r\n\r\nlocal rowCheckboxFirstIndex = { }\r\nlocal rowInputIndex = { }\r\nlocal selectedUpgrades = { }\r\n\r\n-- save state when going into bags / decks\r\nfunction onDestroy() self.script_state = onSave() end\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n selections = selectedUpgrades\r\n })\r\nend\r\n\r\n-- Startup procedure\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n if loadedData.selections ~= nil then\r\n selectedUpgrades = loadedData.selections\r\n end\r\n end\r\n\r\n selfId = getSelfId()\r\n\r\n maybeLoadLivingInkSkills()\r\n createUi()\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\n\r\n self.addContextMenuItem(\"Clear Selections\", function() resetSelections() end)\r\n self.addContextMenuItem(\"Scale: 1x\", function() self.setScale({ 1, 1, 1 }) end)\r\n self.addContextMenuItem(\"Scale: 2x\", function() self.setScale({ 2, 1, 2 }) end)\r\n self.addContextMenuItem(\"Scale: 3x\", function() self.setScale({ 3, 1, 3 }) end)\r\nend\r\n\r\n-- Grabs the ID from the metadata for special functions (Living Ink, Summoned Servitor)\r\nfunction getSelfId()\r\n local metadata = JSON.decode(self.getGMNotes())\r\n return metadata.id\r\nend\r\n\r\nfunction isUpgradeActive(row)\r\n return customizations[row] ~= nil\r\n and customizations[row].checkboxes ~= nil\r\n and customizations[row].checkboxes.count ~= nil\r\n and customizations[row].checkboxes.count > 0\r\n and selectedUpgrades[row] ~= nil\r\n and selectedUpgrades[row].xp ~= nil\r\n and selectedUpgrades[row].xp >= customizations[row].checkboxes.count\r\nend\r\n\r\nfunction resetSelections()\r\n selectedUpgrades = { }\r\n updateDisplay()\r\nend\r\n\r\nfunction createUi()\r\n if customizations == nil then\r\n return\r\n end\r\n for i = 1, #customizations do\r\n if customizations[i].checkboxes ~= nil then\r\n createRowCheckboxes(i)\r\n end\r\n if customizations[i].textField ~= nil then\r\n createRowTextField(i)\r\n end\r\n end\r\n maybeMakeLivingInkSkillSelectionButtons()\r\n maybeMakeServitorSlotSelectionButtons()\r\n updateDisplay()\r\nend\r\n\r\nfunction createRowCheckboxes(rowIndex)\r\n local checkboxes = customizations[rowIndex].checkboxes\r\n rowCheckboxFirstIndex[rowIndex] = 0\r\n local previousButtons = self.getButtons()\r\n if previousButtons ~= nil then\r\n rowCheckboxFirstIndex[rowIndex] = #previousButtons\r\n end\r\n for col = 1, checkboxes.count do\r\n local funcName = \"checkboxRow\" .. rowIndex .. \"Col\" .. col\r\n local func = function() clickCheckbox(rowIndex, col) end\r\n self.setVar(funcName, func)\r\n local checkboxPos = getCheckboxPosition(rowIndex, col)\r\n\r\n self.createButton({\r\n click_function = funcName,\r\n function_owner = self,\r\n position = checkboxPos,\r\n height = boxSize * 10,\r\n width = boxSize * 10,\r\n font_size = 1000,\r\n scale = { 0.1, 0.1, 0.1 },\r\n color = { 0, 0, 0 },\r\n font_color = { 0, 0, 0 }\r\n })\r\n end\r\nend\r\n\r\nfunction getCheckboxPosition(row, col)\r\n return {\r\n x = xInitial + col * xOffset,\r\n y = Y_VISIBLE,\r\n z = customizations[row].checkboxes.posZ\r\n }\r\nend\r\n\r\nfunction createRowTextField(rowIndex)\r\n local textField = customizations[rowIndex].textField\r\n\r\n rowInputIndex[rowIndex] = 0\r\n local previousInputs = self.getInputs()\r\n if previousInputs ~= nil then\r\n rowInputIndex[rowIndex] = #previousInputs\r\n end\r\n local funcName = \"textbox\" .. rowIndex\r\n local func = function(_, _, val, sel) clickTextbox(rowIndex, val, sel) end\r\n self.setVar(funcName, func)\r\n\r\n self.createInput({\r\n input_function = funcName,\r\n function_owner = self,\r\n label = \"Click to type\",\r\n alignment = 2,\r\n position = textField.position,\r\n scale = { 0.1, 0.1, 0.1 },\r\n width = textField.width * 10,\r\n height = inputFontsize * 10 + 75,\r\n font_size = inputFontsize * 10.5,\r\n color = \"White\",\r\n value = \"\"\r\n })\r\nend\r\n\r\nfunction updateDisplay()\r\n for i = 1, #customizations do\r\n updateRowDisplay(i)\r\n end\r\n maybeUpdateLivingInkSkillDisplay()\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\nfunction updateRowDisplay(rowIndex)\r\n if customizations[rowIndex].checkboxes ~= nil then\r\n updateCheckboxes(rowIndex)\r\n end\r\n if customizations[rowIndex].textField ~= nil then\r\n updateTextField(rowIndex)\r\n end\r\nend\r\n\r\nfunction updateCheckboxes(rowIndex)\r\n local checkboxCount = customizations[rowIndex].checkboxes.count\r\n local selected = 0\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].xp ~= nil then\r\n selected = selectedUpgrades[rowIndex].xp\r\n end\r\n local checkboxIndex = rowCheckboxFirstIndex[rowIndex]\r\n for col = 1, checkboxCount do\r\n local pos = getCheckboxPosition(rowIndex, col)\r\n if col <= selected then\r\n pos.y = Y_VISIBLE\r\n else\r\n pos.y = Y_INVISIBLE\r\n end\r\n self.editButton({\r\n index = checkboxIndex,\r\n position = pos\r\n })\r\n checkboxIndex = checkboxIndex + 1\r\n end\r\nend\r\n\r\nfunction updateTextField(rowIndex)\r\n local inputIndex = rowInputIndex[rowIndex]\r\n if selectedUpgrades[rowIndex] ~= nil and selectedUpgrades[rowIndex].text ~= nil then\r\n self.editInput({\r\n index = inputIndex,\r\n value = \" \" .. selectedUpgrades[rowIndex].text\r\n })\r\n end\r\nend\r\n\r\nfunction clickCheckbox(row, col, buttonIndex)\r\n if selectedUpgrades[row] == nil then\r\n selectedUpgrades[row] = { }\r\n selectedUpgrades[row].xp = 0\r\n end\r\n if selectedUpgrades[row].xp == col then\r\n selectedUpgrades[row].xp = col - 1\r\n else\r\n selectedUpgrades[row].xp = col\r\n end\r\n updateCheckboxes(row)\r\n playmatApi.syncAllCustomizableCards()\r\nend\r\n\r\n-- Updates saved value for given text box when it loses focus\r\nfunction clickTextbox(rowIndex, value, selected)\r\n if selected == false then\r\n if selectedUpgrades[rowIndex] == nil then\r\n selectedUpgrades[rowIndex] = { }\r\n end\r\n selectedUpgrades[rowIndex].text = value:gsub(\"^%s*(.-)%s*$\", \"%1\")\r\n -- Editing isn't actually done yet, and will block the update. Wait a frame so it's finished\r\n Wait.frames(function() updateRowDisplay(rowIndex) end, 1)\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Living Ink related functions\r\n---------------------------------------------------------\r\n\r\n-- Builds the list of boolean skill selections from the Row 1 text field\r\nfunction maybeLoadLivingInkSkills()\r\n if selfId ~= \"09079-c\" then return end\r\n selectedSkills = {\r\n willpower = false,\r\n intellect = false,\r\n combat = false,\r\n agility = false\r\n }\r\n if selectedUpgrades[1] ~= nil and selectedUpgrades[1].text ~= nil then\r\n for skill in string.gmatch(selectedUpgrades[1].text, \"([^,]+)\") do\r\n selectedSkills[skill] = true\r\n end\r\n end\r\nend\r\n\r\nfunction clickSkill(skillname)\r\n selectedSkills[skillname] = not selectedSkills[skillname]\r\n maybeUpdateLivingInkSkillDisplay()\r\n updateSelectedLivingInkSkillText()\r\nend\r\n\r\n-- Creates the invisible buttons overlaying the skill icons\r\nfunction maybeMakeLivingInkSkillSelectionButtons()\r\n if selfId ~= \"09079-c\" then return end\r\n\r\n local buttonData = {\r\n function_owner = self,\r\n position = { y = 0.2 },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n\r\n for skillname, _ in pairs(selectedSkills) do\r\n local funcName = \"clickSkill\" .. skillname\r\n self.setVar(funcName, function() clickSkill(skillname) end)\r\n\r\n buttonData.click_function = funcName\r\n buttonData.position.x = -1 * SKILL_ICON_POSITIONS[skillname].x\r\n buttonData.position.z = SKILL_ICON_POSITIONS[skillname].z\r\n self.createButton(buttonData)\r\n end\r\nend\r\n\r\n-- Builds a comma-delimited string of skills and places it in the Row 1 text field\r\nfunction updateSelectedLivingInkSkillText()\r\n local skillString = \"\"\r\n if selectedSkills.willpower then\r\n skillString = skillString .. \"willpower\" .. \",\"\r\n end\r\n if selectedSkills.intellect then\r\n skillString = skillString .. \"intellect\" .. \",\"\r\n end\r\n if selectedSkills.combat then\r\n skillString = skillString .. \"combat\" .. \",\"\r\n end\r\n if selectedSkills.agility then\r\n skillString = skillString .. \"agility\" .. \",\"\r\n end\r\n if selectedUpgrades[1] == nil then\r\n selectedUpgrades[1] = { }\r\n end\r\n selectedUpgrades[1].text = skillString\r\nend\r\n\r\n-- Refresh the vector circles indicating a skill is selected. Since we can only have one table of\r\n-- vectors set, have to refresh all 4 at once\r\nfunction maybeUpdateLivingInkSkillDisplay()\r\n if selfId ~= \"09079-c\" then return end\r\n local circles = {}\r\n for skill, isSelected in pairs(selectedSkills) do\r\n if isSelected then\r\n local circle = getCircleVector(SKILL_ICON_POSITIONS[skill])\r\n if circle ~= nil then\r\n table.insert(circles, circle)\r\n end\r\n end\r\n end\r\n self.setVectorLines(circles)\r\nend\r\n\r\nfunction getCircleVector(center)\r\n local diameter = Vector(0, 0, 0.1)\r\n local pointOfOrigin = Vector(center.x, Y_VISIBLE, center.z)\r\n local vec\r\n local vecList = {}\r\n local arcStep = 5\r\n for i = 0, 360, arcStep do\r\n diameter:rotateOver('y', arcStep)\r\n vec = pointOfOrigin + diameter\r\n vec.y = pointOfOrigin.y\r\n table.insert(vecList, vec)\r\n end\r\n\r\n return {\r\n points = vecList,\r\n color = VECTOR_COLOR.mystic,\r\n thickness = 0.02,\r\n }\r\nend\r\n\r\n---------------------------------------------------------\r\n-- Summoned Servitor related functions\r\n---------------------------------------------------------\r\n\r\n-- Creates the invisible buttons overlaying the slot words\r\nfunction maybeMakeServitorSlotSelectionButtons()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local buttonData = {\r\n click_function = \"clickArcane\",\r\n function_owner = self,\r\n position = { x = -1 * SLOT_ICON_POSITIONS.arcane.x, y = 0.2, z = SLOT_ICON_POSITIONS.arcane.z },\r\n height = 130,\r\n width = 130,\r\n color = { 0, 0, 0, 0 },\r\n }\r\n self.createButton(buttonData)\r\n\r\n buttonData.click_function = \"clickAlly\"\r\n buttonData.position.x = -1 * SLOT_ICON_POSITIONS.ally.x\r\n self.createButton(buttonData)\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickArcane()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.arcane\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- toggles the clicked slot\r\nfunction clickAlly()\r\n if selectedUpgrades[6] == nil then\r\n selectedUpgrades[6] = { }\r\n end\r\n if selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.none\r\n else\r\n selectedUpgrades[6].text = SUMMONED_SERVITOR_SLOT_INDICES.ally\r\n end\r\n maybeUpdateServitorSlotDisplay()\r\nend\r\n\r\n-- Refresh the vector circles indicating a slot is selected.\r\nfunction maybeUpdateServitorSlotDisplay()\r\n if selfId ~= \"09080-c\" then return end\r\n\r\n local center = SLOT_ICON_POSITIONS[\"arcane\"]\r\n local arcaneVecList = {\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.12, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n center = SLOT_ICON_POSITIONS[\"ally\"]\r\n local allyVecList = {\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z + 0.05),\r\n Vector(center.x - 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z - 0.05),\r\n Vector(center.x + 0.07, Y_VISIBLE, center.z + 0.05),\r\n }\r\n\r\n local arcaneVecColor = VECTOR_COLOR.unselected\r\n local allyVecColor = VECTOR_COLOR.unselected\r\n\r\n if selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.arcane then\r\n arcaneVecColor = VECTOR_COLOR.mystic\r\n elseif selectedUpgrades[6] ~= nil and selectedUpgrades[6].text == SUMMONED_SERVITOR_SLOT_INDICES.ally then\r\n allyVecColor = VECTOR_COLOR.mystic\r\n end\r\n\r\n self.setVectorLines({\r\n {\r\n points = arcaneVecList,\r\n color = arcaneVecColor,\r\n thickness = 0.02,\r\n },\r\n {\r\n points = allyVecList,\r\n color = allyVecColor,\r\n thickness = 0.02,\r\n }\r\n })\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[0,0,0,0,0,0,0,0,0,0],[\"\",\"\",\"\",\"\",\"\"]]", - "XmlUI": "" - }, - { - "GUID": "fefdfa", - "Name": "Card", - "Transform": { - "posX": 78.459, - "posY": 3.236, - "posZ": 26.593, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deck of Possibilities", - "Description": "Tychokinetic Implement", - "GMNotes": "{\r\n \"id\": \"88043\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"traits\": \"Item. Relic.\",\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 266432, - "SidewaysCard": false, - "CustomDeck": { - "2664": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1874087305860119704/FCC908E5C313759E9E478D5952C74179DF80ADA8/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1874087305860121579/39578AC78E34DAA169AB4DE4246BB1E002528B8C/", - "NumWidth": 7, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "860cd7", - "Name": "Card", - "Transform": { - "posX": 78.393, - "posY": 3.239, - "posZ": 26.742, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Isamara Ordoñez", - "Description": "The Torch Singer", - "GMNotes": "{\r\n \"id\": \"88044\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Performer.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 550927, - "SidewaysCard": false, - "CustomDeck": { - "5509": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1874087305860138601/7094CA9FD63C5320D7AD2F3142B30DE5221A2657/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "48b174", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -9.606, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Jenny Barnes", - "Description": "", - "GMNotes": "{\r\n \"id\": \"02003-m\",\r\n \"alternate_ids\": [\r\n \"98001-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 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, - "CardID": 259007, - "SidewaysCard": false, - "CustomDeck": { - "2590": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "703327", - "Name": "Card", - "Transform": { - "posX": 8.871763, - "posY": 1.49510384, - "posZ": 25.2808552, - "rotX": 2.695551E-07, - "rotY": 270.0, - "rotZ": -3.71707358E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Jenny Barnes", - "Description": "Promo version", - "GMNotes": "{\n \"id\": \"02003-m\",\n \"alternate_ids\": [\n \"98001-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273410, - "SidewaysCard": false, - "CustomDeck": { - "2734": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "30614e", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -12.197, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Carolyn Fern", - "Description": "", - "GMNotes": "{\r\n \"id\": \"05001-m\",\r\n \"alternate_ids\": [\r\n \"98010-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273302, - "SidewaysCard": false, - "CustomDeck": { - "2733": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9b07a5", - "Name": "Card", - "Transform": { - "posX": 12.355834, - "posY": 1.49510384, - "posZ": 7.37967873, - "rotX": 1.842877E-08, - "rotY": 269.9983, - "rotZ": -5.466912E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Carolyn Fern", - "Description": "Promo version", - "GMNotes": "{\n \"id\": \"05001-m\",\n \"alternate_ids\": [\n \"98010-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273306, - "SidewaysCard": false, - "CustomDeck": { - "2733": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "57668a", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -10.902, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Dexter Drake", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07004-m\",\r\n \"alternate_ids\": [\r\n \"98016-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553203, - "SidewaysCard": false, - "CustomDeck": { - "5532": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132708743/A33DE2B12DE941B1CF2E4C8A458A18E48CB5CEEF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132709196/85DFA06CD6EC0C36B07F86E5CDECCB6AFF531152/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "3f629d", - "Name": "Card", - "Transform": { - "posX": 13.4698734, - "posY": 1.49510384, - "posZ": 31.0408936, - "rotX": 2.7844257E-07, - "rotY": 270.0, - "rotZ": -7.77030152E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Dexter Drake", - "Description": "Promo version", - "GMNotes": "{\n \"id\": \"07004-m\",\n \"alternate_ids\": [\n \"98016-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274300, - "SidewaysCard": false, - "CustomDeck": { - "2743": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093850037/05B303D11D87919B0388BF646EB2792033620EE0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093849750/0A603123EE623768F23DC105F629D33E9CAF8333/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "574b59", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -13.492, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Silas Marsh", - "Description": "", - "GMNotes": "{\r\n \"id\": \"07005-m\",\r\n \"alternate_ids\": [\r\n \"98013-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553204, - "SidewaysCard": false, - "CustomDeck": { - "5532": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132708743/A33DE2B12DE941B1CF2E4C8A458A18E48CB5CEEF/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132709196/85DFA06CD6EC0C36B07F86E5CDECCB6AFF531152/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "a7b8f6", - "Name": "Card", - "Transform": { - "posX": 21.2330017, - "posY": 1.49510384, - "posZ": 0.8223256, - "rotX": 1.21647318E-07, - "rotY": 270.003784, - "rotZ": 8.567934E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Silas Marsh", - "Description": "Promo version", - "GMNotes": "{\n \"id\": \"07005-m\",\n \"alternate_ids\": [\n \"98013-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272508, - "SidewaysCard": false, - "CustomDeck": { - "2725": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "6b00ec", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -5.72, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01003-m\",\r\n \"alternate_ids\": [\r\n \"01503-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 258502, - "SidewaysCard": false, - "CustomDeck": { - "2585": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "02463b", - "Name": "Card", - "Transform": { - "posX": 57.73569, - "posY": 1.29860592, - "posZ": 66.88089, - "rotX": -6.758641E-08, - "rotY": 269.998718, - "rotZ": 1.14691389E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "", - "GMNotes": "{\n \"id\": \"01003-m\",\n \"alternate_ids\": [\n \"01503-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587102, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800340918/16F5E89C36494A9A7D4C191DFF376E340BAABD00/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800341634/C8EF1EDA589007989C51031F8CD42B23956EA7CE/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "15e40d", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -4.425, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Wendy Adams", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01005-m\",\r\n \"alternate_ids\": [\r\n \"01505-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 258404, - "SidewaysCard": false, - "CustomDeck": { - "2584": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9b1e1f", - "Name": "Card", - "Transform": { - "posX": 53.1275368, - "posY": 1.29860592, - "posZ": 67.055336, - "rotX": 1.32882377E-07, - "rotY": 269.999939, - "rotZ": -1.09467493E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Wendy Adams", - "Description": "", - "GMNotes": "{\n \"id\": \"01005-m\",\n \"alternate_ids\": [\n \"01505-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587104, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800340918/16F5E89C36494A9A7D4C191DFF376E340BAABD00/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800341634/C8EF1EDA589007989C51031F8CD42B23956EA7CE/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "5bde90", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -7.015, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Roland Banks", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01001-m\",\r\n \"alternate_ids\": [\r\n \"98004-m\",\r\n \"01501-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 258600, - "SidewaysCard": false, - "CustomDeck": { - "2586": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "cb8701", - "Name": "Card", - "Transform": { - "posX": 49.563, - "posY": 1.29860592, - "posZ": 67.153, - "rotX": -9.60612141E-08, - "rotY": 270.0, - "rotZ": -2.07587263E-08, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Roland Banks", - "Description": "", - "GMNotes": "{\n \"id\": \"01001-m\",\n \"alternate_ids\": [\n \"98004-m\",\n \"01501-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587100, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800340918/16F5E89C36494A9A7D4C191DFF376E340BAABD00/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800341634/C8EF1EDA589007989C51031F8CD42B23956EA7CE/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "355b0c", - "Name": "Card", - "Transform": { - "posX": 49.563, - "posY": 1.29860592, - "posZ": 67.153, - "rotX": -2.02330909E-07, - "rotY": 270.0, - "rotZ": -1.38793665E-09, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Roland Banks", - "Description": "Promo version", - "GMNotes": "{\n \"id\": \"01001-m\",\n \"alternate_ids\": [\n \"98004-m\",\n \"01501-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535809, - "SidewaysCard": false, - "CustomDeck": { - "5358": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "bce6a5", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -8.311, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Daisy Walker", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01002-m\",\r\n \"alternate_ids\": [\r\n \"01502-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 258701, - "SidewaysCard": false, - "CustomDeck": { - "2587": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5fa10d", - "Name": "Card", - "Transform": { - "posX": 46.00785, - "posY": 1.29860592, - "posZ": 67.03441, - "rotX": -5.91529421E-08, - "rotY": 269.985962, - "rotZ": 1.07859748E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Daisy Walker", - "Description": "", - "GMNotes": "{\n \"id\": \"01002-m\",\n \"alternate_ids\": [\n \"01502-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587101, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800340918/16F5E89C36494A9A7D4C191DFF376E340BAABD00/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800341634/C8EF1EDA589007989C51031F8CD42B23956EA7CE/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e53693", - "Name": "Card", - "Transform": { - "posX": 26.574, - "posY": 3.688, - "posZ": -3.129, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Agnes Baker", - "Description": "", - "GMNotes": "{\r\n \"id\": \"01004-m\",\r\n \"alternate_ids\": [\r\n \"01504-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CardID": 258803, - "SidewaysCard": false, - "CustomDeck": { - "2588": { - "FaceURL": "https://i.imgur.com/WPYBga4.jpg", - "BackURL": "https://i.imgur.com/vB84qMp.jpg", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "8c997c", - "Name": "Card", - "Transform": { - "posX": 40.7253036, - "posY": 1.29860592, - "posZ": 66.7765656, - "rotX": 1.697304E-07, - "rotY": 270.0102, - "rotZ": 2.00479718E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Agnes Baker", - "Description": "", - "GMNotes": "{\n \"id\": \"01004-m\",\n \"alternate_ids\": [\n \"01504-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587103, - "SidewaysCard": false, - "CustomDeck": { - "5871": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800340918/16F5E89C36494A9A7D4C191DFF376E340BAABD00/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800341634/C8EF1EDA589007989C51031F8CD42B23956EA7CE/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "a5d9bb", - "Name": "Card", - "Transform": { - "posX": 25.382, - "posY": 3.548, - "posZ": 2.785, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Norman Withers", - "Description": "", - "GMNotes": "{\r\n \"id\": \"08004-m\",\r\n \"alternate_ids\": [\r\n \"98007-m\"\r\n ],\r\n \"type\": \"Minicard\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379204, - "SidewaysCard": false, - "CustomDeck": { - "3792": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507575/2EC3C9DD9A82135F5C0D3460C93B4B873EA5E0E0/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126507801/776246D0ED5DFF897896D229B6F7E801898CA4F6/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9e2c64", - "Name": "Card", - "Transform": { - "posX": 11.47079, - "posY": 1.49510384, - "posZ": 10.4751749, - "rotX": -1.76099633E-07, - "rotY": 270.0, - "rotZ": -6.83984069E-07, - "scaleX": 0.6, - "scaleY": 1.0, - "scaleZ": 0.6 - }, - "Nickname": "Norman Withers (promo version)", - "Description": "", - "GMNotes": "{\n \"id\": \"08004-m\",\n \"alternate_ids\": [\n \"98007-m\"\n ],\n \"type\": \"Minicard\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Minicard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272607, - "SidewaysCard": false, - "CustomDeck": { - "2726": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/775107869050066760/0DE2BD4589CC8C2F3D26C2900A17ED7A6483062F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093846975/4726098952C64103F2C211D202FFDD40D9D988BB/", - "NumWidth": 7, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e0a155", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -15.853, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Norman Withers", - "Description": "The Astronomer", - "GMNotes": "{\r\n \"id\": \"08004\",\r\n \"alternate_ids\": [\r\n \"98007\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"Edge of the Earth\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 379501, - "SidewaysCard": true, - "CustomDeck": { - "3795": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "49634c", - "Name": "Card", - "Transform": { - "posX": 9.333473, - "posY": 1.49510384, - "posZ": 7.165938, - "rotX": -3.25108175E-07, - "rotY": 179.994492, - "rotZ": -3.71937716E-07, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Norman Withers (promo version)", - "Description": "The Astronomer", - "GMNotes": "{\n \"id\": \"08004\",\n \"alternate_ids\": [\n \"98007\"\n ],\n \"type\": \"Investigator\",\n \"class\": \"Seeker\",\n \"traits\": \"Miskatonic.\",\n \"willpowerIcons\": 4,\n \"intellectIcons\": 5,\n \"combatIcons\": 2,\n \"agilityIcons\": 1,\n \"cycle\": \"Edge of the Earth\"\n}", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 440900, - "SidewaysCard": true, - "CustomDeck": { - "4409": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086987329/F381129808CB4D0ECD8508777784ECD8B7C1691F/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697277388086987553/817496FCFFBF0B8ADCE3B09A9671D6F549BE5881/", - "NumWidth": 2, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "9058d3", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -2.775, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Jenny Barnes", - "Description": "The Dilettante", - "GMNotes": "{\r\n \"id\": \"02003\",\r\n \"alternate_ids\": [\r\n \"98001\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 450104, - "SidewaysCard": true, - "CustomDeck": { - "4501": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", - "NumWidth": 4, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "b954f6", - "Name": "Card", - "Transform": { - "posX": 9.175334, - "posY": 1.49510384, - "posZ": 21.4800034, - "rotX": 5.375201E-08, - "rotY": 180.0, - "rotZ": -3.88488473E-07, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Jenny Barnes (promo version)", - "Description": "The Dilettante", - "GMNotes": "{\r\n \"id\": \"02003\",\r\n \"alternate_ids\": [\r\n \"98001\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"The Dunwich Legacy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273631, - "SidewaysCard": true, - "CustomDeck": { - "2736": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "b03b12", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -18.469, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Carolyn Fern", - "Description": "The Psychologist", - "GMNotes": "{\r\n \"id\": \"05001\",\r\n \"alternate_ids\": [\r\n \"98010\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Medic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273521, - "SidewaysCard": true, - "CustomDeck": { - "2735": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "9900a3", - "Name": "Card", - "Transform": { - "posX": 13.7634039, - "posY": 1.49510384, - "posZ": 4.633879, - "rotX": -4.78657931E-08, - "rotY": 179.900131, - "rotZ": -3.31672339E-07, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Carolyn Fern (promo version)", - "Description": "The Psychologist", - "GMNotes": "{\r\n \"id\": \"05001\",\r\n \"alternate_ids\": [\r\n \"98010\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Medic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 4,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Circle Undone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273527, - "SidewaysCard": true, - "CustomDeck": { - "2735": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "e015f8", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -8.006, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Dexter Drake", - "Description": "The Magician", - "GMNotes": "{\r\n \"id\": \"07004\",\r\n \"alternate_ids\": [\r\n \"98016\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer. Veteran.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 553103, - "SidewaysCard": true, - "CustomDeck": { - "5531": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672550/E5E1C8EE53C7692025E048F0A04BE98D6FA17111/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672810/20E21AC471D7E5E1545F0EAE635A093718D4C7CF/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "3925ce", - "Name": "Card", - "Transform": { - "posX": 10.9801254, - "posY": 1.49510384, - "posZ": 24.50595, - "rotX": 8.37629059E-08, - "rotY": 180.0, - "rotZ": -3.86306681E-07, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Dexter Drake (promo version)", - "Description": "The Magician", - "GMNotes": "{\r\n \"id\": \"07004\",\r\n \"alternate_ids\": [\r\n \"98016\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer. Veteran.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 274137, - "SidewaysCard": true, - "CustomDeck": { - "2741": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "3f92cf", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": 5.072, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Silas Marsh", - "Description": "The Sailor", - "GMNotes": "{\r\n \"id\": \"07005\",\r\n \"alternate_ids\": [\r\n \"98013\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 552804, - "SidewaysCard": true, - "CustomDeck": { - "5528": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672550/E5E1C8EE53C7692025E048F0A04BE98D6FA17111/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1626320664132672810/20E21AC471D7E5E1545F0EAE635A093718D4C7CF/", - "NumWidth": 3, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "cd3308", - "Name": "Card", - "Transform": { - "posX": 21.1002541, - "posY": 1.49510384, - "posZ": -1.72874641, - "rotX": -8.9108E-08, - "rotY": 180.0, - "rotZ": -6.421163E-07, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Silas Marsh (promo version)", - "Description": "The Sailor", - "GMNotes": "{\r\n \"id\": \"07005\",\r\n \"alternate_ids\": [\r\n \"98013\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"The Innsmouth Conspiracy\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 272429, - "SidewaysCard": true, - "CustomDeck": { - "2724": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "9e9e98", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -5.39, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Roland Banks", - "Description": "The Fed", - "GMNotes": "{\r\n \"id\": \"01001\",\r\n \"alternate_ids\": [\r\n \"98004\",\r\n \"01501\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273800, - "SidewaysCard": true, - "CustomDeck": { - "2738": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "a684e0", - "Name": "Card", - "Transform": { - "posX": 49.563, - "posY": 1.29860592, - "posZ": 62.553, - "rotX": 2.400226E-08, - "rotY": 180.0, - "rotZ": -3.06262358E-08, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Roland Banks", - "Description": "The Fed", - "GMNotes": "{\r\n \"id\": \"01001\",\r\n \"alternate_ids\": [\r\n \"98004\",\r\n \"01501\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587400, - "SidewaysCard": true, - "CustomDeck": { - "5874": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108004/768BB33829A836E2AB5E6775A22271BE77585D4A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108622/9BA9D571CE81D39DDED8F6F7573E8676964E7723/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "e46857", - "Name": "Card", - "Transform": { - "posX": 49.563, - "posY": 1.29860592, - "posZ": 62.553, - "rotX": 7.42376072E-09, - "rotY": 180.0, - "rotZ": -3.84156351E-08, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Roland Banks (promo version)", - "Description": "The Fed", - "GMNotes": "{\r\n \"id\": \"01001\",\r\n \"alternate_ids\": [\r\n \"98004\",\r\n \"01501\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Guardian\",\r\n \"traits\": \"Agency. Detective.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 4,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 273830, - "SidewaysCard": true, - "CustomDeck": { - "2738": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "9015b4", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": 2.456, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "The Ex-Con", - "GMNotes": "{\r\n \"id\": \"01003\",\r\n \"alternate_ids\": [\r\n \"01503\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535502, - "SidewaysCard": true, - "CustomDeck": { - "5355": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "a41f81", - "Name": "Card", - "Transform": { - "posX": 58.384, - "posY": 1.29860592, - "posZ": 60.19, - "rotX": 1.18973453E-08, - "rotY": 180.0, - "rotZ": 3.49164786E-09, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "\"Skids\" O'Toole", - "Description": "The Ex-Con", - "GMNotes": "{\r\n \"id\": \"01003\",\r\n \"alternate_ids\": [\r\n \"01503\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Rogue\",\r\n \"traits\": \"Criminal.\",\r\n \"willpowerIcons\": 2,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 3,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587402, - "SidewaysCard": true, - "CustomDeck": { - "5874": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108004/768BB33829A836E2AB5E6775A22271BE77585D4A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108622/9BA9D571CE81D39DDED8F6F7573E8676964E7723/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "25e2db", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -13.237, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Agnes Baker", - "Description": "The Waitress", - "GMNotes": "{\r\n \"id\": \"01004\",\r\n \"alternate_ids\": [\r\n \"01504\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535603, - "SidewaysCard": true, - "CustomDeck": { - "5356": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "6797bb", - "Name": "Card", - "Transform": { - "posX": 40.963, - "posY": 1.29860592, - "posZ": 57.949, - "rotX": -6.936822E-09, - "rotY": 180.0, - "rotZ": 4.08641867E-08, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Agnes Baker", - "Description": "The Waitress", - "GMNotes": "{\r\n \"id\": \"01004\",\r\n \"alternate_ids\": [\r\n \"01504\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Mystic\",\r\n \"traits\": \"Sorcerer.\",\r\n \"willpowerIcons\": 5,\r\n \"intellectIcons\": 2,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 3,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587403, - "SidewaysCard": true, - "CustomDeck": { - "5874": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108004/768BB33829A836E2AB5E6775A22271BE77585D4A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108622/9BA9D571CE81D39DDED8F6F7573E8676964E7723/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "fc1d17", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -0.159, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Wendy Adams", - "Description": "The Urchin", - "GMNotes": "{\r\n \"id\": \"01005\",\r\n \"alternate_ids\": [\r\n \"01505\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 535704, - "SidewaysCard": true, - "CustomDeck": { - "5357": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "11bcb3", - "Name": "Card", - "Transform": { - "posX": 53.2961044, - "posY": 1.29860592, - "posZ": 57.92725, - "rotX": -1.57520219E-08, - "rotY": 180.0, - "rotZ": 1.500979E-08, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Wendy Adams", - "Description": "The Urchin", - "GMNotes": "{\r\n \"id\": \"01005\",\r\n \"alternate_ids\": [\r\n \"01505\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Survivor\",\r\n \"traits\": \"Drifter.\",\r\n \"willpowerIcons\": 4,\r\n \"intellectIcons\": 3,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 4,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587404, - "SidewaysCard": true, - "CustomDeck": { - "5874": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108004/768BB33829A836E2AB5E6775A22271BE77585D4A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108622/9BA9D571CE81D39DDED8F6F7573E8676964E7723/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "6938eb", - "Name": "Card", - "Transform": { - "posX": 26.925, - "posY": 3.688, - "posZ": -10.622, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Daisy Walker", - "Description": "The Librarian", - "GMNotes": "{\r\n \"id\": \"01002\",\r\n \"alternate_ids\": [\r\n \"01502\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 269901, - "SidewaysCard": true, - "CustomDeck": { - "2699": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845971/A678BD374EC4DE672206B5EF7EB57DC885BC839C/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1011562618093845464/80687C9319FA2015F3D9F7CBEB4C55FBF045B27D/", - "NumWidth": 10, - "NumHeight": 7, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "ac7047", - "Name": "Card", - "Transform": { - "posX": 45.979, - "posY": 1.29860592, - "posZ": 57.953, - "rotX": -1.68114287E-08, - "rotY": 179.999237, - "rotZ": 1.734952E-08, - "scaleX": 1.15, - "scaleY": 1.0, - "scaleZ": 1.15 - }, - "Nickname": "Daisy Walker", - "Description": "The Librarian", - "GMNotes": "{\r\n \"id\": \"01002\",\r\n \"alternate_ids\": [\r\n \"01502\"\r\n ],\r\n \"type\": \"Investigator\",\r\n \"class\": \"Seeker\",\r\n \"traits\": \"Miskatonic.\",\r\n \"willpowerIcons\": 3,\r\n \"intellectIcons\": 5,\r\n \"combatIcons\": 2,\r\n \"agilityIcons\": 2,\r\n \"cycle\": \"Core\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.713235259, - "g": 0.713235259, - "b": 0.713235259 - }, - "Tags": [ - "Investigator", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 587401, - "SidewaysCard": true, - "CustomDeck": { - "5874": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108004/768BB33829A836E2AB5E6775A22271BE77585D4A/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1856052392800108622/9BA9D571CE81D39DDED8F6F7573E8676964E7723/", - "NumWidth": 3, - "NumHeight": 3, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "a72f6f", - "Name": "Card", - "Transform": { - "posX": 79.041, - "posY": 3.307, - "posZ": 27.623, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Foundation Intel", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09766\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Item. Evidence.\",\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588604, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1941643328387688196/FE8468C5066E61AB3C228A48639F47D0226DFCF6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8fbd1b", - "Name": "Card", - "Transform": { - "posX": 82.203, - "posY": 3.297, - "posZ": 27.623, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Expedited Ticket", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09765\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"traits\": \"Item.\",\r\n \"permanent\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588603, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1941643328387688196/FE8468C5066E61AB3C228A48639F47D0226DFCF6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c76a06", - "Name": "Card", - "Transform": { - "posX": 82.203, - "posY": 3.297, - "posZ": 25.335, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Dr. Dewi Irawan", - "Description": "\"Cryptozoologist\"", - "GMNotes": "{\r\n \"id\": \"09764\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Scholar.\",\r\n \"willpowerIcons\": 1,\r\n \"intellectIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588602, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1941643328387688196/FE8468C5066E61AB3C228A48639F47D0226DFCF6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "3c3dfa", - "Name": "Card", - "Transform": { - "posX": 82.203, - "posY": 3.297, - "posZ": 23.048, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Paradimensional Understanding", - "Description": "", - "GMNotes": "{\r\n \"id\": \"09767\",\r\n \"type\": \"Treachery\",\r\n \"traits\": \"Madness. Paradox.\",\r\n \"weakness\": true,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "ScenarioCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588605, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1941643328387688196/FE8468C5066E61AB3C228A48639F47D0226DFCF6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8247a5", - "Name": "Card", - "Transform": { - "posX": 79.041, - "posY": 3.297, - "posZ": 25.335, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Inspector Flint", - "Description": "With Pride and Care", - "GMNotes": "{\r\n \"id\": \"09762\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 2,\r\n \"traits\": \"Ally. Agency. Detective.\",\r\n \"wildIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588600, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1941643328387688196/FE8468C5066E61AB3C228A48639F47D0226DFCF6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d61c6a", - "Name": "Card", - "Transform": { - "posX": 79.041, - "posY": 3.297, - "posZ": 23.048, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Agent Ari Quinn", - "Description": "Foundation Researcher", - "GMNotes": "{\r\n \"id\": \"09763\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Agency. Detective.\",\r\n \"intellectIcons\": 1,\r\n \"combatIcons\": 1,\r\n \"agilityIcons\": 1,\r\n \"cycle\": \"The Scarlet Keys\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": true, - "Hands": true, - "CardID": 588601, - "SidewaysCard": false, - "CustomDeck": { - "5886": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1941643328387688196/FE8468C5066E61AB3C228A48639F47D0226DFCF6/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 5, - "NumHeight": 2, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fefdfa", - "Name": "Card", - "Transform": { - "posX": 78.459, - "posY": 3.236, - "posZ": 26.593, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Deck of Possibilities", - "Description": "Tychokinetic Implement", - "GMNotes": "{\r\n \"id\": \"88043\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"permanent\": true,\r\n \"traits\": \"Item. Relic.\",\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 266432, - "SidewaysCard": false, - "CustomDeck": { - "2664": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1874087305860119704/FCC908E5C313759E9E478D5952C74179DF80ADA8/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/1874087305860121579/39578AC78E34DAA169AB4DE4246BB1E002528B8C/", - "NumWidth": 7, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": true, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "860cd7", - "Name": "Card", - "Transform": { - "posX": 78.393, - "posY": 3.239, - "posZ": 26.742, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Isamara Ordoñez", - "Description": "The Torch Singer", - "GMNotes": "{\r\n \"id\": \"88044\",\r\n \"type\": \"Asset\",\r\n \"class\": \"Neutral\",\r\n \"cost\": 3,\r\n \"traits\": \"Ally. Performer.\",\r\n \"willpowerIcons\": 1,\r\n \"wildIcons\": 1,\r\n \"cycle\": \"Standalone\"\r\n}\r", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "Tags": [ - "Asset", - "PlayerCard" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CardID": 550927, - "SidewaysCard": false, - "CustomDeck": { - "5509": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1874087305860138601/7094CA9FD63C5320D7AD2F3142B30DE5221A2657/", - "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "NumWidth": 8, - "NumHeight": 6, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "af7ed7", - "Name": "Custom_Token", - "Transform": { - "posX": -37.35, - "posY": 1.531, - "posZ": 19.35, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.95, - "scaleY": 1.0, - "scaleZ": 0.95 - }, - "Nickname": "Investigator Skill Tracker", - "Description": "Displays the stats of your investigator and can be clicked to increase / decrease the stats.\n\nSee context menu for additional information.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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/1910115722579978285/38E3156A777396FF8C96D2191720790162749C40/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"playermat/InvestigatorSkillTracker\")\nend)\n__bundle_register(\"playermat/InvestigatorSkillTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Stat Tracker\r\n-- made by: Chr1Z\r\n-- description: helps tracking the stats of your investigator\r\n\r\nlocal BUTTON_PARAMETERS = {}\r\nBUTTON_PARAMETERS.function_owner = self\r\nBUTTON_PARAMETERS.height = 650\r\nBUTTON_PARAMETERS.width = 700\r\nBUTTON_PARAMETERS.position = { x = -4.775, y = 0.1, z = -0.03 }\r\nBUTTON_PARAMETERS.color = { 0, 0, 0, 0 }\r\nBUTTON_PARAMETERS.font_color = { 0, 0, 0, 100 }\r\nBUTTON_PARAMETERS.font_size = 450\r\n\r\nfunction onSave() return JSON.encode(stats) end\r\n\r\n-- load stats and make buttons (left to right)\r\nfunction onLoad(saved_data)\r\n stats = JSON.decode(saved_data) or { 1, 1, 1, 1 }\r\n\r\n for i = 1, 4 do\r\n BUTTON_PARAMETERS.label = stats[i] .. \" \"\r\n BUTTON_PARAMETERS.position.x = BUTTON_PARAMETERS.position.x + 1.91\r\n BUTTON_PARAMETERS.click_function = attachIndex(\"button_click\", i)\r\n self.createButton(BUTTON_PARAMETERS)\r\n end\r\n\r\n self.addContextMenuItem(\"Reset to 1s\", function() updateStats({ 1, 1, 1, 1 }) end)\r\nend\r\n\r\n-- helper function to carry index\r\nfunction attachIndex(click_function, index)\r\n local fn_name = click_function .. index\r\n _G[fn_name] = function(obj, player_color, isRightClick)\r\n _G[click_function](obj, player_color, isRightClick, index)\r\n end\r\n return fn_name\r\nend\r\n\r\nfunction button_click(_, _, isRightClick, index)\r\n stats[index] = math.min(math.max(stats[index] + (isRightClick and -1 or 1), 0), 99)\r\n changeButton(index)\r\nend\r\n\r\nfunction changeButton(index)\r\n local font_size = BUTTON_PARAMETERS.font_size\r\n local whitespace = \" \"\r\n\r\n if stats[index] > 9 then\r\n font_size = BUTTON_PARAMETERS.font_size * 0.65\r\n whitespace = \" \"\r\n end\r\n\r\n self.editButton({ index = index - 1, label = stats[index] .. whitespace, font_size = font_size })\r\nend\r\n\r\n-- formatting of \"newStats\": {Willpower, Intellect, Fight, Agility}\r\nfunction updateStats(newStats)\r\n if newStats and #newStats == 4 then\r\n stats = newStats\r\n elseif newStats then\r\n printToAll(\"Provided new stats are incomplete or incorrectly formatted.\", \"Red\")\r\n return\r\n end\r\n\r\n for i = 1, 4 do changeButton(i) end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[1,1,1,1]", - "XmlUI": "" - }, - { - "GUID": "e598c2", - "Name": "Custom_Token", - "Transform": { - "posX": -47.75, - "posY": 1.531, - "posZ": 9.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.95, - "scaleY": 1.0, - "scaleZ": 0.95 - }, - "Nickname": "Investigator Skill Tracker", - "Description": "Displays the stats of your investigator and can be clicked to increase / decrease the stats.\n\nSee context menu for additional information.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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/1910115722579978285/38E3156A777396FF8C96D2191720790162749C40/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"playermat/InvestigatorSkillTracker\")\nend)\n__bundle_register(\"playermat/InvestigatorSkillTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Stat Tracker\r\n-- made by: Chr1Z\r\n-- description: helps tracking the stats of your investigator\r\n\r\nlocal BUTTON_PARAMETERS = {}\r\nBUTTON_PARAMETERS.function_owner = self\r\nBUTTON_PARAMETERS.height = 650\r\nBUTTON_PARAMETERS.width = 700\r\nBUTTON_PARAMETERS.position = { x = -4.775, y = 0.1, z = -0.03 }\r\nBUTTON_PARAMETERS.color = { 0, 0, 0, 0 }\r\nBUTTON_PARAMETERS.font_color = { 0, 0, 0, 100 }\r\nBUTTON_PARAMETERS.font_size = 450\r\n\r\nfunction onSave() return JSON.encode(stats) end\r\n\r\n-- load stats and make buttons (left to right)\r\nfunction onLoad(saved_data)\r\n stats = JSON.decode(saved_data) or { 1, 1, 1, 1 }\r\n\r\n for i = 1, 4 do\r\n BUTTON_PARAMETERS.label = stats[i] .. \" \"\r\n BUTTON_PARAMETERS.position.x = BUTTON_PARAMETERS.position.x + 1.91\r\n BUTTON_PARAMETERS.click_function = attachIndex(\"button_click\", i)\r\n self.createButton(BUTTON_PARAMETERS)\r\n end\r\n\r\n self.addContextMenuItem(\"Reset to 1s\", function() updateStats({ 1, 1, 1, 1 }) end)\r\nend\r\n\r\n-- helper function to carry index\r\nfunction attachIndex(click_function, index)\r\n local fn_name = click_function .. index\r\n _G[fn_name] = function(obj, player_color, isRightClick)\r\n _G[click_function](obj, player_color, isRightClick, index)\r\n end\r\n return fn_name\r\nend\r\n\r\nfunction button_click(_, _, isRightClick, index)\r\n stats[index] = math.min(math.max(stats[index] + (isRightClick and -1 or 1), 0), 99)\r\n changeButton(index)\r\nend\r\n\r\nfunction changeButton(index)\r\n local font_size = BUTTON_PARAMETERS.font_size\r\n local whitespace = \" \"\r\n\r\n if stats[index] > 9 then\r\n font_size = BUTTON_PARAMETERS.font_size * 0.65\r\n whitespace = \" \"\r\n end\r\n\r\n self.editButton({ index = index - 1, label = stats[index] .. whitespace, font_size = font_size })\r\nend\r\n\r\n-- formatting of \"newStats\": {Willpower, Intellect, Fight, Agility}\r\nfunction updateStats(newStats)\r\n if newStats and #newStats == 4 then\r\n stats = newStats\r\n elseif newStats then\r\n printToAll(\"Provided new stats are incomplete or incorrectly formatted.\", \"Red\")\r\n return\r\n end\r\n\r\n for i = 1, 4 do changeButton(i) end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[1,1,1,1]", - "XmlUI": "" - }, - { - "GUID": "b4a5f7", - "Name": "Custom_Token", - "Transform": { - "posX": -47.75, - "posY": 1.531, - "posZ": -23.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.95, - "scaleY": 1.0, - "scaleZ": 0.95 - }, - "Nickname": "Investigator Skill Tracker", - "Description": "Displays the stats of your investigator and can be clicked to increase / decrease the stats.\n\nSee context menu for additional information.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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/1910115722579978285/38E3156A777396FF8C96D2191720790162749C40/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"playermat/InvestigatorSkillTracker\")\nend)\n__bundle_register(\"playermat/InvestigatorSkillTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Stat Tracker\r\n-- made by: Chr1Z\r\n-- description: helps tracking the stats of your investigator\r\n\r\nlocal BUTTON_PARAMETERS = {}\r\nBUTTON_PARAMETERS.function_owner = self\r\nBUTTON_PARAMETERS.height = 650\r\nBUTTON_PARAMETERS.width = 700\r\nBUTTON_PARAMETERS.position = { x = -4.775, y = 0.1, z = -0.03 }\r\nBUTTON_PARAMETERS.color = { 0, 0, 0, 0 }\r\nBUTTON_PARAMETERS.font_color = { 0, 0, 0, 100 }\r\nBUTTON_PARAMETERS.font_size = 450\r\n\r\nfunction onSave() return JSON.encode(stats) end\r\n\r\n-- load stats and make buttons (left to right)\r\nfunction onLoad(saved_data)\r\n stats = JSON.decode(saved_data) or { 1, 1, 1, 1 }\r\n\r\n for i = 1, 4 do\r\n BUTTON_PARAMETERS.label = stats[i] .. \" \"\r\n BUTTON_PARAMETERS.position.x = BUTTON_PARAMETERS.position.x + 1.91\r\n BUTTON_PARAMETERS.click_function = attachIndex(\"button_click\", i)\r\n self.createButton(BUTTON_PARAMETERS)\r\n end\r\n\r\n self.addContextMenuItem(\"Reset to 1s\", function() updateStats({ 1, 1, 1, 1 }) end)\r\nend\r\n\r\n-- helper function to carry index\r\nfunction attachIndex(click_function, index)\r\n local fn_name = click_function .. index\r\n _G[fn_name] = function(obj, player_color, isRightClick)\r\n _G[click_function](obj, player_color, isRightClick, index)\r\n end\r\n return fn_name\r\nend\r\n\r\nfunction button_click(_, _, isRightClick, index)\r\n stats[index] = math.min(math.max(stats[index] + (isRightClick and -1 or 1), 0), 99)\r\n changeButton(index)\r\nend\r\n\r\nfunction changeButton(index)\r\n local font_size = BUTTON_PARAMETERS.font_size\r\n local whitespace = \" \"\r\n\r\n if stats[index] > 9 then\r\n font_size = BUTTON_PARAMETERS.font_size * 0.65\r\n whitespace = \" \"\r\n end\r\n\r\n self.editButton({ index = index - 1, label = stats[index] .. whitespace, font_size = font_size })\r\nend\r\n\r\n-- formatting of \"newStats\": {Willpower, Intellect, Fight, Agility}\r\nfunction updateStats(newStats)\r\n if newStats and #newStats == 4 then\r\n stats = newStats\r\n elseif newStats then\r\n printToAll(\"Provided new stats are incomplete or incorrectly formatted.\", \"Red\")\r\n return\r\n end\r\n\r\n for i = 1, 4 do changeButton(i) end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[1,1,1,1]", - "XmlUI": "" - }, - { - "GUID": "e74881", - "Name": "Custom_Token", - "Transform": { - "posX": -23.35, - "posY": 1.531, - "posZ": -19.35, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.95, - "scaleY": 1.0, - "scaleZ": 0.95 - }, - "Nickname": "Investigator Skill Tracker", - "Description": "Displays the stats of your investigator and can be clicked to increase / decrease the stats.\n\nSee context menu for additional information.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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/1910115722579978285/38E3156A777396FF8C96D2191720790162749C40/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"playermat/InvestigatorSkillTracker\")\nend)\n__bundle_register(\"playermat/InvestigatorSkillTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Stat Tracker\r\n-- made by: Chr1Z\r\n-- description: helps tracking the stats of your investigator\r\n\r\nlocal BUTTON_PARAMETERS = {}\r\nBUTTON_PARAMETERS.function_owner = self\r\nBUTTON_PARAMETERS.height = 650\r\nBUTTON_PARAMETERS.width = 700\r\nBUTTON_PARAMETERS.position = { x = -4.775, y = 0.1, z = -0.03 }\r\nBUTTON_PARAMETERS.color = { 0, 0, 0, 0 }\r\nBUTTON_PARAMETERS.font_color = { 0, 0, 0, 100 }\r\nBUTTON_PARAMETERS.font_size = 450\r\n\r\nfunction onSave() return JSON.encode(stats) end\r\n\r\n-- load stats and make buttons (left to right)\r\nfunction onLoad(saved_data)\r\n stats = JSON.decode(saved_data) or { 1, 1, 1, 1 }\r\n\r\n for i = 1, 4 do\r\n BUTTON_PARAMETERS.label = stats[i] .. \" \"\r\n BUTTON_PARAMETERS.position.x = BUTTON_PARAMETERS.position.x + 1.91\r\n BUTTON_PARAMETERS.click_function = attachIndex(\"button_click\", i)\r\n self.createButton(BUTTON_PARAMETERS)\r\n end\r\n\r\n self.addContextMenuItem(\"Reset to 1s\", function() updateStats({ 1, 1, 1, 1 }) end)\r\nend\r\n\r\n-- helper function to carry index\r\nfunction attachIndex(click_function, index)\r\n local fn_name = click_function .. index\r\n _G[fn_name] = function(obj, player_color, isRightClick)\r\n _G[click_function](obj, player_color, isRightClick, index)\r\n end\r\n return fn_name\r\nend\r\n\r\nfunction button_click(_, _, isRightClick, index)\r\n stats[index] = math.min(math.max(stats[index] + (isRightClick and -1 or 1), 0), 99)\r\n changeButton(index)\r\nend\r\n\r\nfunction changeButton(index)\r\n local font_size = BUTTON_PARAMETERS.font_size\r\n local whitespace = \" \"\r\n\r\n if stats[index] > 9 then\r\n font_size = BUTTON_PARAMETERS.font_size * 0.65\r\n whitespace = \" \"\r\n end\r\n\r\n self.editButton({ index = index - 1, label = stats[index] .. whitespace, font_size = font_size })\r\nend\r\n\r\n-- formatting of \"newStats\": {Willpower, Intellect, Fight, Agility}\r\nfunction updateStats(newStats)\r\n if newStats and #newStats == 4 then\r\n stats = newStats\r\n elseif newStats then\r\n printToAll(\"Provided new stats are incomplete or incorrectly formatted.\", \"Red\")\r\n return\r\n end\r\n\r\n for i = 1, 4 do changeButton(i) end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[1,1,1,1]", - "XmlUI": "" - }, - { - "GUID": "300fcc", - "Name": "Custom_Model", - "Transform": { - "posX": 26.0, - "posY": 1.48553991, - "posZ": -87.0, - "rotX": 2.14834714E-07, - "rotY": 270.0, - "rotZ": 9.790268E-09, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Scarlet Keys", - "Description": "", - "GMNotes": "campaigns/the_scarlet_keys.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "CampaignBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2038486699957628515/8202EA3F06FDDD807A34BD6F62FE2E0A0723B8CD/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "24051a", - "Name": "Custom_Token", - "Transform": { - "posX": 60.0, - "posY": 1.531, - "posZ": 56.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.25, - "scaleY": 1.0, - "scaleZ": 1.35 - }, - "Nickname": "Search-A-Card", - "Description": "Allows searching for card(s) by name. Use the buttons to toggle the spawn / search mode.\n\nSee context menu for additional information.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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/1857193769888710611/7DFDDFD0F0AFB7A31F29843D196BE9E36D89A60F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"playercards/CardSearch\")\nend)\n__bundle_register(\"playercards/CardSearch\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Search-A-Card\r\n-- made by: Chr1Z\r\n-- description: spawns the card(s) with the specified name\r\ninformation = {\r\n version = \"1.2\",\r\n last_updated = \"12.11.2022\"\r\n}\r\n\r\nrequire(\"playercards/PlayerCardSpawner\")\r\n\r\nlocal buttonParameters = {}\r\nbuttonParameters.function_owner = self\r\nbuttonParameters.height = 200\r\nbuttonParameters.width = 1200\r\nbuttonParameters.font_size = 75\r\n\r\nlocal BUTTON_LABELS = {}\r\nBUTTON_LABELS[\"spawn\"] = {}\r\nBUTTON_LABELS[\"spawn\"][true] = \"Mode: Spawn all matching cards \"\r\nBUTTON_LABELS[\"spawn\"][false] = \"Mode: Spawn first matching card\"\r\nBUTTON_LABELS[\"search\"] = {}\r\nBUTTON_LABELS[\"search\"][true] = \"Mode: Name matches search term\"\r\nBUTTON_LABELS[\"search\"][false] = \"Mode: Name contains search term\"\r\n\r\nlocal inputParameters = {}\r\ninputParameters.label = \"Click to enter card name\"\r\ninputParameters.input_function = \"input_func\"\r\ninputParameters.function_owner = self\r\ninputParameters.alignment = 2\r\ninputParameters.position = { 0, 0.05, -1.6 }\r\ninputParameters.width = 1200\r\ninputParameters.height = 130\r\ninputParameters.font_size = 107\r\n\r\nlocal ALL_CARDS_GUID = \"15bb07\"\r\n\r\n-- main code\r\nfunction onSave() return JSON.encode({ spawnAll, searchExact, inputParameters.value }) end\r\n\r\nfunction onLoad(saved_data)\r\n local loaded_data = JSON.decode(saved_data)\r\n spawnAll = loaded_data[1] or false\r\n searchExact = loaded_data[2] or false\r\n inputParameters.value = loaded_data[3] or \"\"\r\n\r\n -- index 0: button for spawn mode\r\n buttonParameters.click_function = \"search\"\r\n buttonParameters.label = \"Spawn matching card(s)!\"\r\n buttonParameters.position = { 0, 0.06, 1.15 }\r\n self.createButton(buttonParameters)\r\n\r\n -- index 1: button for spawn mode\r\n buttonParameters.click_function = \"spawnMode\"\r\n buttonParameters.label = BUTTON_LABELS[\"spawn\"][spawnAll]\r\n buttonParameters.position[3] = buttonParameters.position[3] + 0.4\r\n self.createButton(buttonParameters)\r\n\r\n -- index 2: button for search mode\r\n buttonParameters.click_function = \"searchMode\"\r\n buttonParameters.label = BUTTON_LABELS[\"search\"][searchExact]\r\n buttonParameters.position[3] = buttonParameters.position[3] + 0.4\r\n self.createButton(buttonParameters)\r\n\r\n self.createInput(inputParameters)\r\n self.addContextMenuItem(\"More Information\", function()\r\n printToAll(\"------------------------------\", \"White\")\r\n printToAll(\"Search-A-Card v\" .. information[\"version\"] .. \" by Chr1Z\", \"Orange\")\r\n printToAll(\"last updated: \" .. information[\"last_updated\"], \"White\")\r\n end)\r\nend\r\n\r\nfunction spawnMode()\r\n spawnAll = not spawnAll\r\n self.editButton({ index = 1, label = BUTTON_LABELS[\"spawn\"][spawnAll] })\r\nend\r\n\r\nfunction searchMode()\r\n searchExact = not searchExact\r\n self.editButton({ index = 2, label = BUTTON_LABELS[\"search\"][searchExact] })\r\nend\r\n\r\n-- if \"Enter press\" (\\n) is found, start search and recreate input\r\nfunction input_func(_, _, input, stillEditing)\r\n if not stillEditing then\r\n inputParameters.value = input\r\n elseif string.find(input, \"%\\n\") ~= nil then\r\n inputParameters.value = input.gsub(input, \"%\\n\", \"\")\r\n search()\r\n self.removeInput(0)\r\n self.createInput(inputParameters)\r\n end\r\nend\r\n\r\nfunction search()\r\n if inputParameters.value == nil or string.len(inputParameters.value) == 0 then\r\n printToAll(\"Please enter a search string.\", \"Yellow\")\r\n return\r\n end\r\n\r\n if string.len(inputParameters.value) < 3 then\r\n printToAll(\"Please enter a longer search string.\", \"Yellow\")\r\n return\r\n end\r\n\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID)\r\n if allCardsBag == nil then\r\n printToAll(\"Player card bag couldn't be found.\", \"Red\")\r\n return\r\n end\r\n\r\n -- search all objects in bag\r\n local cardList = allCardsBag.call(\"getCardsByName\", { name = inputParameters.value, exact = searchExact })\r\n if cardList == nil or #cardList == 0 then\r\n printToAll(\"No match found.\", \"Red\")\r\n return\r\n end\r\n if (#cardList > 100) then\r\n printToAll(\"Matched more than 100 cards, please try a more specific search.\", \"Yellow\")\r\n return\r\n end\r\n\r\n -- sort table by name (reverse for multiple results, because bottom card spawns first)\r\n table.sort(cardList, function(k1, k2) return spawnAll == (k1.data.Nickname > k2.data.Nickname) end)\r\n\r\n local rot = self.getRotation()\r\n local pos = self.positionToWorld(Vector(0, 2, -0.225))\r\n Spawner.spawnCards(cardList, pos, rot, true)\r\nend\r\nend)\n__bundle_register(\"playercards/PlayerCardSpawner\", function(require, _LOADED, __bundle_register, __bundle_modules)\n\r\n-- Amount to shift for the next card (zShift) or next row of cards (xShift)\r\n-- Note that the table rotation is weird, and the X axis is vertical while the\r\n-- Z axis is horizontal\r\nlocal SPREAD_Z_SHIFT = -2.3\r\nlocal SPREAD_X_SHIFT = -3.66\r\n\r\nSpawner = { }\r\n\r\n-- Spawns a list of cards at the given position/rotation. This will separate cards by size -\r\n-- investigator, standard, and mini, spawning them in that order with larger cards on bottom. If\r\n-- there are different types, the provided callback will be called once for each type as it spawns\r\n-- either a card or deck.\r\n-- @param cardList: A list of Player Card data structures (data/metadata)\r\n-- @param pos Position table where the cards should be spawned (global)\r\n-- @param rot Rotation table for the orientation of the spawned cards (global)\r\n-- @param sort Boolean, true if this list of cards should be sorted before spawning\r\n-- @param callback Function, callback to be called after the card/deck spawns.\r\nSpawner.spawnCards = function(cardList, pos, rot, sort, callback)\r\n if (sort) then\r\n table.sort(cardList, Spawner.cardComparator)\r\n end\r\n\r\n local miniCards = { }\r\n local standardCards = { }\r\n local investigatorCards = { }\r\n\r\n for _, card in ipairs(cardList) do\r\n if (card.metadata.type == \"Investigator\") then\r\n table.insert(investigatorCards, card)\r\n elseif (card.metadata.type == \"Minicard\") then\r\n table.insert(miniCards, card)\r\n else\r\n table.insert(standardCards, card)\r\n end\r\n end\r\n -- Spawn each of the three types individually. Each Y position shift accounts for the thickness\r\n -- of the spawned deck\r\n local position = { x = pos.x, y = pos.y, z = pos.z }\r\n Spawner.spawn(investigatorCards, position, { rot.x, rot.y - 90, rot.z }, callback)\r\n\r\n position.y = position.y + (#investigatorCards + #standardCards) * 0.07\r\n Spawner.spawn(standardCards, position, rot, callback)\r\n\r\n position.y = position.y + (#standardCards + #miniCards) * 0.07\r\n Spawner.spawn(miniCards, position, rot, callback)\r\nend\r\n\r\nSpawner.spawnCardSpread = function(cardList, startPos, maxCols, rot, sort, callback)\r\n if (sort) then\r\n table.sort(cardList, Spawner.cardComparator)\r\n end\r\n\r\n local position = { x = startPos.x, y = startPos.y, z = startPos.z }\r\n -- Special handle the first row if we have less than a full single row, but only if there's a\r\n -- reasonable max column count. Single-row spreads will send a large value for maxCols\r\n if maxCols < 100 and #cardList < maxCols then\r\n position.z = startPos.z + ((maxCols - #cardList) / 2 * SPREAD_Z_SHIFT)\r\n end\r\n local cardsInRow = 0\r\n local rows = 0\r\n for _, card in ipairs(cardList) do\r\n Spawner.spawn({ card }, position, rot, callback)\r\n position.z = position.z + SPREAD_Z_SHIFT\r\n cardsInRow = cardsInRow + 1\r\n if cardsInRow >= maxCols then\r\n rows = rows + 1\r\n local cardsForRow = #cardList - rows * maxCols\r\n if cardsForRow > maxCols then\r\n cardsForRow = maxCols\r\n end\r\n position.z = startPos.z + ((maxCols - cardsForRow) / 2 * SPREAD_Z_SHIFT)\r\n position.x = position.x + SPREAD_X_SHIFT\r\n cardsInRow = 0\r\n end\r\n end\r\nend\r\n\r\n-- Spawn a specific list of cards. This method is for internal use and should not be called\r\n-- directly, use spawnCards instead.\r\n---@param cardList: A list of Player Card data structures (data/metadata)\r\n---@param pos table Position where the cards should be spawned (global)\r\n---@param rot table Rotation for the orientation of the spawned cards (global)\r\n---@param callback function callback to be called after the card/deck spawns.\r\nSpawner.spawn = function(cardList, pos, rot, callback)\r\n if (#cardList == 0) then\r\n return\r\n end\r\n -- Spawn a single card directly\r\n if (#cardList == 1) then\r\n spawnObjectData({\r\n data = cardList[1].data,\r\n position = pos,\r\n rotation = rot,\r\n callback_function = callback,\r\n })\r\n return\r\n end\r\n -- For multiple cards, construct a deck and spawn that\r\n local deck = Spawner.buildDeckDataTemplate()\r\n -- Decks won't inherently scale to the cards in them. The card list being spawned should be all\r\n -- the same type/size by this point, so use the first card to set the size\r\n deck.Transform = {\r\n scaleX = cardList[1].data.Transform.scaleX,\r\n scaleY = 1,\r\n scaleZ = cardList[1].data.Transform.scaleZ,\r\n }\r\n local sidewaysDeck = true\r\n for _, spawnCard in ipairs(cardList) do\r\n Spawner.addCardToDeck(deck, spawnCard.data)\r\n -- set sidewaysDeck to false if any card is not a sideways card\r\n sidewaysDeck = (sidewaysDeck and spawnCard.data.SidewaysCard)\r\n end\r\n -- set the alt view angle for sideway decks\r\n if sidewaysDeck then\r\n deck.AltLookAngle = { x = 0, y = 180, z = 90 }\r\n end\r\n spawnObjectData({\r\n data = deck,\r\n position = pos,\r\n rotation = rot,\r\n callback_function = callback,\r\n })\r\nend\r\n\r\n-- Inserts a card into the given deck. This does three things:\r\n-- 1. Add the card's data to ContainedObjects\r\n-- 2. Add the card's ID (the TTS CardID, not the Arkham ID) to the deck's\r\n-- ID list. Note that the deck's ID list is \"DeckIDs\" even though it\r\n-- contains a list of card Ids\r\n-- 3. Extract the card's CustomDeck table and add it to the deck. The deck's\r\n-- \"CustomDeck\" field is a list of all CustomDecks used by cards within the\r\n-- deck, keyed by the DeckID and referencing the custom deck table\r\n---@param deck: TTS deck data structure to add to\r\n---@param card: Data for the card to be inserted\r\nSpawner.addCardToDeck = function(deck, cardData)\r\n for customDeckId, customDeckData in pairs(cardData.CustomDeck) do\r\n if (deck.CustomDeck[customDeckId] == nil) then\r\n -- CustomDeck not added to deck yet, add it\r\n deck.CustomDeck[customDeckId] = customDeckData\r\n elseif (deck.CustomDeck[customDeckId].FaceURL == customDeckData.FaceURL) then\r\n -- CustomDeck for this card matches the current one for the deck, do nothing\r\n else\r\n -- CustomDeck data conflict\r\n local newDeckId = nil\r\n for deckId, customDeck in pairs(deck.CustomDeck) do\r\n if (customDeckData.FaceURL == customDeck.FaceURL) then\r\n newDeckId = deckId\r\n end\r\n end\r\n if (newDeckId == nil) then\r\n -- No non-conflicting custom deck for this card, add a new one\r\n newDeckId = Spawner.findNextAvailableId(deck.CustomDeck, \"1000\")\r\n deck.CustomDeck[newDeckId] = customDeckData\r\n end\r\n -- Update the card with the new CustomDeck info\r\n cardData.CardID = newDeckId..string.sub(cardData.CardID, 5)\r\n cardData.CustomDeck[customDeckId] = nil\r\n cardData.CustomDeck[newDeckId] = customDeckData\r\n break\r\n end\r\n end\r\n table.insert(deck.ContainedObjects, cardData)\r\n table.insert(deck.DeckIDs, cardData.CardID)\r\nend\r\n\r\n-- Create an empty deck data table which can have cards added to it. This\r\n-- creates a new table on each call without using metatables or previous\r\n-- definitions because we can't be sure that TTS doesn't modify the structure\r\n---@return: Table containing the minimal TTS deck data structure\r\nSpawner.buildDeckDataTemplate = function()\r\n local deck = {}\r\n deck.Name = \"Deck\"\r\n\r\n -- Card data. DeckIDs and CustomDeck entries will be built from the cards\r\n deck.ContainedObjects = {}\r\n deck.DeckIDs = {}\r\n deck.CustomDeck = {}\r\n\r\n -- Transform is required, Position and Rotation will be overridden by the spawn call so can be omitted here\r\n deck.Transform = {\r\n scaleX = 1,\r\n scaleY = 1,\r\n scaleZ = 1,\r\n }\r\n\r\n return deck\r\nend\r\n\r\n-- Returns the first ID which does not exist in the given table, starting at startId and increasing\r\n-- @param objectTable Table keyed by strings which are numbers\r\n-- @param startId First possible ID.\r\n-- @return String ID >= startId\r\nSpawner.findNextAvailableId = function(objectTable, startId)\r\n local id = startId\r\n while (objectTable[id] ~= nil) do\r\n id = tostring(tonumber(id) + 1)\r\n end\r\n\r\n return id\r\nend\r\n\r\n-- Get the PBCN (Permanent/Bonded/Customizable/Normal) value from the given metadata.\r\n---@return: 1 for Permanent, 2 for Bonded or 4 for Normal. The actual values are\r\n-- irrelevant as they provide only grouping and the order between them doesn't matter.\r\nSpawner.getpbcn = function(metadata)\r\n if metadata.permanent then\r\n return 1\r\n elseif metadata.bonded_to ~= nil then\r\n return 2\r\n else -- Normal card\r\n return 3\r\n end\r\nend\r\n\r\n-- Comparison function used to sort the cards in a deck. Groups bonded or\r\n-- permanent cards first, then sorts within theose types by name/subname.\r\n-- Normal cards will sort in standard alphabetical order, while\r\n-- permanent/bonded/customizable will be in reverse alphabetical order.\r\n--\r\n-- Since cards spawn in the order provided by this comparator, with the first\r\n-- cards ending up at the bottom of a pile, this ordering will spawn in reverse\r\n-- alphabetical order. This presents the cards in order for non-face-down\r\n-- areas, and presents them in order when Searching the face-down deck.\r\nSpawner.cardComparator = function(card1, card2)\r\n local pbcn1 = Spawner.getpbcn(card1.metadata)\r\n local pbcn2 = Spawner.getpbcn(card2.metadata)\r\n if pbcn1 ~= pbcn2 then\r\n return pbcn1 > pbcn2\r\n end\r\n if pbcn1 == 3 then\r\n if card1.data.Nickname ~= card2.data.Nickname then\r\n return card1.data.Nickname < card2.data.Nickname\r\n end\r\n return card1.data.Description < card2.data.Description\r\n else\r\n if card1.data.Nickname ~= card2.data.Nickname then\r\n return card1.data.Nickname > card2.data.Nickname\r\n end\r\n return card1.data.Description > card2.data.Description\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[true,false,\"\"]", - "XmlUI": "" - }, - { - "GUID": "d0c8fa", - "Name": "Custom_Tile", - "Transform": { - "posX": -11.3, - "posY": 1.52, - "posZ": -16.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Phase Tracker", - "Description": "Use contextmenu option to enable broadcasting phase changes.\nLeft-click: Next phase\nRight-click: Previous phase", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.106229968, - "g": 0.0083, - "b": 0.0 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded", - "LinkedPhaseTracker" - ], - "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/933819604050849085/9E22AFD7B0157140FC177DBCCBCB1D61D6A0329F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/933819604050849085/9E22AFD7B0157140FC177DBCCBCB1D61D6A0329F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "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)\nrequire(\"accessories/PhaseTracker\")\nend)\n__bundle_register(\"accessories/PhaseTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal phaseNames = {\r\n \"I. Mythos Phase\",\r\n \"II. Investigation Phase\",\r\n \"III. Enemy Phase\",\r\n \"IV. Upkeep Phase\"\r\n}\r\nlocal phaseImages = {\r\n \"http://cloud-3.steamusercontent.com/ugc/933819604050849085/9E22AFD7B0157140FC177DBCCBCB1D61D6A0329F/\",\r\n \"http://cloud-3.steamusercontent.com/ugc/933819604050885611/845B5AA915F30492B5F34864698B9C3627FA5763/\",\r\n \"http://cloud-3.steamusercontent.com/ugc/982233321870235122/492996D07ABF6DDA4B605A3013C4892839DCF1F3/\",\r\n \"http://cloud-3.steamusercontent.com/ugc/982233321870237261/C287CAED2423970F33E72D6C7415CBEC6794C533/\"\r\n}\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n phaseId = phaseId,\r\n broadcastChange = broadcastChange\r\n })\r\nend\r\n\r\nfunction onLoad(savedData)\r\n if savedData and savedData ~= \"\" then\r\n local loadedData = JSON.decode(savedData)\r\n phaseId = loadedData.phaseId\r\n broadcastChange = loadedData.broadcastChange\r\n else\r\n phaseId = 1\r\n broadcastChange = false\r\n end\r\n\r\n self.createButton(\r\n {\r\n tooltip = \"change phase\",\r\n click_function = 'changeState',\r\n function_owner = self,\r\n width = 600,\r\n height = 600\r\n })\r\n\r\n self.addContextMenuItem(\"toggle broadcasting\", updateBroadcast)\r\nend\r\n\r\nfunction updateBroadcast()\r\n for _, tracker in ipairs(getObjectsWithTag(\"LinkedPhaseTracker\")) do\r\n tracker.setVar(\"broadcastChange\", not broadcastChange)\r\n end\r\n broadcastToAll(\"Broadcasting phase changes has been \" .. (broadcastChange and \"enabled.\" or \"disabled.\"))\r\nend\r\n\r\nfunction changeState(_, _, isRightClick)\r\n -- get newId for all trackers\r\n local newId = phaseId + (isRightClick and -1 or 1)\r\n if newId == 0 then\r\n newId = 4\r\n elseif newId == 5 then\r\n newId = 1\r\n end\r\n\r\n -- broadcast if option is enabled\r\n if broadcastChange then\r\n broadcastToAll(phaseNames[newId])\r\n end\r\n\r\n -- manipulate data and then respawn\r\n local data = self.getData()\r\n data[\"CustomImage\"][\"ImageURL\"] = phaseImages[newId]\r\n data[\"CustomImage\"][\"ImageSecondaryURL\"] = phaseImages[newId]\r\n data[\"LuaScriptState\"] = \"{\\\"broadcastChange\\\":\" .. tostring(broadcastChange) .. \",\\\"phaseId\\\":\" .. newId .. \"}\"\r\n\r\n -- update all trackers with tag\r\n for _, tracker in ipairs(getObjectsWithTag(\"LinkedPhaseTracker\")) do\r\n local pos = tracker.getPosition()\r\n local rot = tracker.getRotation()\r\n local scale = tracker.getScale()\r\n tracker.destruct()\r\n spawnObjectData(\r\n {\r\n data = data,\r\n position = pos,\r\n rotation = rot,\r\n scale = scale\r\n }\r\n )\r\n end\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"broadcastChange\":false,\"phaseId\":1}", - "XmlUI": "" - }, - { - "GUID": "557104", - "Name": "Custom_Tile", - "Transform": { - "posX": 78.0, - "posY": 1.145, - "posZ": -41.086, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 1.0, - "scaleZ": 0.5 - }, - "Nickname": "Phase Tracker Cache", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.106229968, - "g": 0.0083, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/933819604050849085/9E22AFD7B0157140FC177DBCCBCB1D61D6A0329F/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/933819604050849085/9E22AFD7B0157140FC177DBCCBCB1D61D6A0329F/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "49922d", - "Name": "Custom_Tile", - "Transform": { - "posX": 78.0, - "posY": 1.145, - "posZ": -39.995, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 1.0, - "scaleZ": 0.5 - }, - "Nickname": "Phase Tracker Cache", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.106229968, - "g": 0.0083, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/933819604050885611/845B5AA915F30492B5F34864698B9C3627FA5763/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/933819604050885611/845B5AA915F30492B5F34864698B9C3627FA5763/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "16832f", - "Name": "Custom_Tile", - "Transform": { - "posX": 78.0, - "posY": 1.145, - "posZ": -38.904, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 1.0, - "scaleZ": 0.5 - }, - "Nickname": "Phase Tracker Cache", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.106229968, - "g": 0.0083, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/982233321870235122/492996D07ABF6DDA4B605A3013C4892839DCF1F3/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/982233321870235122/492996D07ABF6DDA4B605A3013C4892839DCF1F3/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "645841", - "Name": "Custom_Tile", - "Transform": { - "posX": 78.0, - "posY": 1.145, - "posZ": -37.813, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 1.0, - "scaleZ": 0.5 - }, - "Nickname": "Phase Tracker Cache", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.106229968, - "g": 0.0083, - "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, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/982233321870237261/C287CAED2423970F33E72D6C7415CBEC6794C533/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/982233321870237261/C287CAED2423970F33E72D6C7415CBEC6794C533/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.2, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e3ffc9", - "Name": "Checker_white", - "Transform": { - "posX": 78.0, - "posY": 1.395, - "posZ": 1.875, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Token Spawn Tracker", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.353659958, - "g": 0.333329946, - "b": 0.333329946 - }, - "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": "-- 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(\"core/token/TokenSpawnTracker\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal spawnedCardGuids = { }\r\n\r\nlocal HAND_ZONES = { }\r\nHAND_ZONES[\"a70eee\"] = true -- White\r\nHAND_ZONES[\"0285cc\"] = true -- Green\r\nHAND_ZONES[\"5fe087\"] = true -- Orange\r\nHAND_ZONES[\"be2f17\"] = true -- Red\r\n\r\nfunction onLoad(saveState)\r\n if saveState ~= nil then\r\n local saveTable = JSON.decode(saveState) or { }\r\n spawnedCardGuids = saveTable.cards or { }\r\n end\r\n\r\n createResetMenuItems()\r\nend\r\n\r\nfunction onSave()\r\n return JSON.encode({\r\n cards = spawnedCardGuids\r\n })\r\nend\r\n\r\nfunction createResetMenuItems()\r\n self.addContextMenuItem(\"Reset All\", resetAll)\r\n self.addContextMenuItem(\"Reset Locations\", resetAllLocations)\r\n self.addContextMenuItem(\"Reset Player Cards\", resetAllAssetAndEvents)\r\nend\r\n\r\nfunction hasSpawnedTokens(cardGuid)\r\n return spawnedCardGuids[cardGuid] == true\r\nend\r\n\r\nfunction markTokensSpawned(cardGuid)\r\n spawnedCardGuids[cardGuid] = true\r\nend\r\n\r\nfunction resetTokensSpawned(cardGuid)\r\n spawnedCardGuids[cardGuid] = nil\r\nend\r\n\r\nfunction resetAllAssetAndEvents()\r\n local resetList = { }\r\n for cardGuid, _ in pairs(spawnedCardGuids) do\r\n local card = getObjectFromGUID(cardGuid)\r\n if card ~= nil then\r\n local cardMetadata = JSON.decode(card.getGMNotes()) or { }\r\n -- Check this by type rather than the PlayerCard tag so we don't reset weaknesses\r\n if cardMetadata.type == \"Asset\" or cardMetadata.type == \"Event\" then\r\n resetList[cardGuid] = true\r\n end\r\n end\r\n end\r\n for cardGuid, _ in pairs(resetList) do\r\n spawnedCardGuids[cardGuid] = nil\r\n end\r\nend\r\n\r\nfunction resetAllLocations()\r\n local resetList = { }\r\n for cardGuid, _ in pairs(spawnedCardGuids) do\r\n local card = getObjectFromGUID(cardGuid)\r\n if card ~= nil then\r\n local cardMetadata = JSON.decode(card.getGMNotes()) or { }\r\n -- Check this by type rather than the PlayerCard tag so we don't reset weaknesses\r\n if cardMetadata.type == \"Location\" then\r\n resetList[cardGuid] = true\r\n end\r\n end\r\n end\r\n for cardGuid, _ in pairs(resetList) do\r\n spawnedCardGuids[cardGuid] = nil\r\n end\r\nend\r\n\r\nfunction resetAll()\r\n spawnedCardGuids = { }\r\nend\r\n\r\n-- Listener to reset card token spawns when they enter a hand.\r\nfunction onObjectEnterZone(zone, enterObject)\r\n if HAND_ZONES[zone.getGUID()] then\r\n resetTokensSpawned(enterObject.getGUID())\r\n end\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/token/TokenSpawnTracker\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"cards\":[]}", - "XmlUI": "" - }, - { - "GUID": "124381", - "Name": "Bag", - "Transform": { - "posX": 78.0, - "posY": 1.047, - "posZ": -1.001, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.53, - "scaleY": 0.53, - "scaleZ": 0.53 - }, - "Nickname": "Token Source", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.158419967, - "g": 0.167289972, - "b": 0.63589 - }, - "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, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "a3fb6c", - "Name": "Custom_Tile", - "Transform": { - "posX": 78.661, - "posY": 2.398, - "posZ": -1.064, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "ClueDoom", - "Description": "", - "GMNotes": "", - "Memo": "clueDoom", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357164917/1D06F1DC4D6888B6F57124BD2AFE20D0B0DA15A8/", - "ImageSecondaryURL": "https://i.imgur.com/EoL7yaZ.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 2, - "Thickness": 0.1, - "Stackable": true, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "cd2a02", - "Name": "Custom_Token", - "Transform": { - "posX": 78.665, - "posY": 2.351, - "posZ": -1.205, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.24, - "scaleY": 1.0, - "scaleZ": 0.24 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974350/E16168497E847B690A16F1C0914E4F5C872555B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "10": { - "GUID": "473fd1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975474/DFCA4DBDEDCC936D2A2888A98C9B2FEBCD30C22B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "11": { - "GUID": "fdb103", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975559/D34362DF759435E36BF4109C8EE397D96EDE6B56/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "12": { - "GUID": "9409fe", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975658/F7CBB1000A579C9642A259174E611C0118190022/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "13": { - "GUID": "69b7a8", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975808/E0965014A9756E7CB50A144006363535D43BA6F5/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "14": { - "GUID": "df96a2", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975959/B5BB691A4BF8E83DD2B514C81EC38E8E082ED787/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "15": { - "GUID": "166a74", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976119/2EFDA564FE2E9F58EB47F21B4CB69117876DCC7A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "16": { - "GUID": "a964cf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976252/7FE12F57BD8ED418097467B0472B2B510C5B3D05/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "17": { - "GUID": "f25755", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976402/BFC6C6655B0EB1C3DFD3819AFEA599F8D42CEB64/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "18": { - "GUID": "157830", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976543/32E963CDBABCDEBEF3FB499670577A19689E1D8B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "19": { - "GUID": "4b281e", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976679/9CFECB352760F82A558905BC6874DD47F807F785/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "2": { - "GUID": "731a18", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974497/B53160AEF67C32741FB7393B887A745C5A0403A6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "20": { - "GUID": "e38f0b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976805/C81E859758C7B35531566E99CFFDC10626F184D2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "21": { - "GUID": "be6df1", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857976909/640634C5EC652071E14B8EDDEB8800ED4CFECBE3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "22": { - "GUID": "5bb1af", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977001/6854680D0F7FE536050A1FDDC5A31B642BAA82FB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "23": { - "GUID": "ca8bdf", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977114/58B8C6AFC58BEC7F5CDA992B399235E1D1CE216A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "24": { - "GUID": "01363c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977249/7D1F115182E691E90A505760A3349D237C0F16E1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "25": { - "GUID": "b72a1d", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977373/3EB829A410A896DFBA803FB029394976F6AE0CCB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "26": { - "GUID": "04f0ba", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977465/9CA5019A545C6BF2AA1BBB3112267EACAF52C01E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "27": { - "GUID": "cfaf88", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977563/7037BEF939CFBDC031481366476C44C7C3EF322D/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "28": { - "GUID": "592346", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977715/F7661D4ADB8F7071FB4E836B2BAF43C3820848E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "29": { - "GUID": "4cca27", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977844/58C1F8974EEF4961249B44B8517B350F18753379/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "5099bb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974625/F8D98C87DCB93C8CDF106FFAB3DA836B22DA8BEB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "30": { - "GUID": "bc08ab", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857977960/7AC1D20BCD93FD3D035EC26A4C108A82E72EBA86/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "31": { - "GUID": "ae6d21", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978096/D6F6F7EDF5E14EE6B9EE21F807E7CF4F9F9EC028/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "32": { - "GUID": "8b4d06", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978200/E6CDADB9AAB0A79E8526D7A4A1F49471893F7947/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "33": { - "GUID": "3b3f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978337/818E96F0D2BCB45CC90CEE863677312245594B4C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "34": { - "GUID": "cfdd03", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978437/B98FDAB4D1EBC1D40E969DEF9CA7143C8D251BB4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "35": { - "GUID": "f89275", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978553/9A27448271331CDD6292E14F2CB49D71C50CEBF3/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "36": { - "GUID": "f45ba0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978668/D56BF0309ECBDDC4DC4C8FFB71C8B80B320A5E11/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "37": { - "GUID": "e6cce3", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978779/A532740121C41FEF6E30A9E98F933AE1D15907CB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "38": { - "GUID": "9d9531", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857978910/695348D90CBB1D5EF857964662D3D29478FAECC2/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "39": { - "GUID": "9676a0", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979053/575819DDF05E4E6FBFA296DD68E7AF6A764CE2B6/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "68206f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974789/EC9F446EA2DF1E2AE8369138E6873B28852469F1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "40": { - "GUID": "cc6d6a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979152/FFC073DECEC5837E340C37F6CE4F40938E40C514/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "41": { - "GUID": "87fa52", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979285/C69BFF8D1ECC77BF0F5DAD355DD6E84A6A268731/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "42": { - "GUID": "a15b63", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979439/375AE4A39169F62B3447BDC1AA4A26A6690A66D7/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "43": { - "GUID": "6c1f20", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979609/C5BFCF1A87F14282C61EC920FD21D9B25E883693/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "44": { - "GUID": "66febb", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979713/BEB28A94C343F57F6DC3A81F32DDB657CD896EBC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "45": { - "GUID": "56af87", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979797/B27B29B4FF6D550F532D46CD0F7A3EDF984FD39A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "46": { - "GUID": "a3fefa", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857979901/BA1482E12F3DB002FADB2F5C74FA48EA8DE1E31F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "47": { - "GUID": "1e8699", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980020/3756AD3A8C521914A763443EC79407CB6F38B8E4/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "48": { - "GUID": "189d66", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980124/599CAF38B47AD4B29319213CD65C40946DF84777/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "49": { - "GUID": "f08f9a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01000011, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980220/D3682CD04922D7709D49C1066AD921221AD92F74/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "9a8f8c", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.00999987, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857974892/4AFA955A876D8E5BD28DA6164F38EDFBC9988E0F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "50": { - "GUID": "aec16f", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857980328/86FB8E62D4EAD71432622244C92A7B261D1D2F6A/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "9a1ec5", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975047/33060EB9820DE72C983844818A81444377736BB1/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "8fd050", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975160/6B9DD5F5EBFF943633F1A97D4F2D5EAA15D2E3CA/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "b1b78a", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975274/4E93F71661D310DB5FB0472E49E935F16AD0B16E/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "3c293b", - "Name": "Custom_Token", - "Transform": { - "posX": -26.8049335, - "posY": 1.01, - "posZ": 9.519388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.239203319, - "scaleY": 1.0, - "scaleZ": 0.239203319 - }, - "Nickname": "Damage", - "Description": "", - "GMNotes": "", - "Memo": "damage", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1615094763857975360/E524936A793CC5871EE74EBE75388A61ABDD44D0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "36be72", - "Name": "Custom_Token", - "Transform": { - "posX": 79.031, - "posY": 2.307, - "posZ": -1.38, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163535/6D9E0756503664D65BDB384656AC6D4BD713F5FC/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "5c2361", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442654, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163230/ED46F8BBAEDB4D3C96C654D48C56110D35F3F54F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "3a3415", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.210006, - "posZ": 15.9442368, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357162977/E5D453CC14394519E004B4F8703FC425A7AE3D6C/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "4a91a8", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442348, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164483/5E22FEAE253AE65BDE3FA09E4EE7133569F7E194/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "887aae", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.9442024, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164251/34DC7172A2B433047DA853796DB52AECE019F99F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "baa831", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000624, - "posZ": 15.94415, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357164030/0A12FD352F28A560EA7E7952D8CA618A5245F1E0/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "da94da", - "Name": "Custom_Token", - "Transform": { - "posX": -27.7533741, - "posY": 1.21000612, - "posZ": 15.944108, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357114485/8B2B8A9F61CC2D8C1F10977ABDB4BA2423AD143F/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "8": { - "GUID": "2e1687", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.210006, - "posZ": 15.9440966, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357163806/F397C22A8DDB8F22E08E42E6449C3B5D8CFDB313/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "9": { - "GUID": "a6f1e0", - "Name": "Custom_Token", - "Transform": { - "posX": -27.753376, - "posY": 1.21000612, - "posZ": 15.9440622, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 1.0, - "scaleZ": 0.25 - }, - "Nickname": "Horror", - "Description": "", - "GMNotes": "horror", - "Memo": "horror", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": false, - "Snap": false, - "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/1758068501357110165/AD791E6817304851C0ABD7AE97AA60326AC14538/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "7234af", - "Name": "Custom_Tile", - "Transform": { - "posX": -50.369, - "posY": 1.746, - "posZ": -0.17, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Path", - "Description": "", - "GMNotes": "", - "Memo": "path", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.60453, - "g": 0.60453, - "b": 0.60453 - }, - "Tags": [ - "Location" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/vppt2my.png", - "ImageSecondaryURL": "https://i.imgur.com/vppt2my.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "44b0c5", - "Name": "Custom_Tile", - "Transform": { - "posX": -39.7933121, - "posY": 1.63758957, - "posZ": 2.038383, - "rotX": 359.9201, - "rotY": 269.9961, - "rotZ": 0.0168742146, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "path", - "Memo": "path", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.6045295, - "g": 0.6045295, - "b": 0.6045295 - }, - "Tags": [ - "Location" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/HyfE8m8.png", - "ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "5b38c6", - "Name": "Custom_Tile", - "Transform": { - "posX": -38.8217163, - "posY": 1.99356019, - "posZ": 0.4159239, - "rotX": 359.9201, - "rotY": 272.9828, - "rotZ": 0.01687373, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "", - "Description": "", - "GMNotes": "path", - "Memo": "path", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.6045295, - "g": 0.6045295, - "b": 0.6045295 - }, - "Tags": [ - "Location" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/dHKBLoD.png", - "ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "910e09", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Resource", - "Description": "", - "GMNotes": "", - "Memo": "resource", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1758068501357192910/11DDDC7EF621320962FDCF3AE3211D5EDC3D1573/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "States": { - "2": { - "GUID": "00d19a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Ammo", - "Description": "", - "GMNotes": "", - "Memo": "ammo", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230067/741BC33D398801C4BC8368C345EAEF3BE2522823/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "3": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Bounty", - "Description": "", - "GMNotes": "", - "Memo": "bounty", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808233/22B6C4A9FEE0814E6A9BDB2C833C79D66F8100B8/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "4": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Charge", - "Description": "", - "GMNotes": "", - "Memo": "charge", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230179/E3A30A2D661A12205D98D4D0E374591586C5C486/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "5": { - "GUID": "a5ce94", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Evidence", - "Description": "", - "GMNotes": "", - "Memo": "evidence", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021604000335808359/FA36A27E47F940D14B4C45809BF1A0CD7783C8EB/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "6": { - "GUID": "7a4a9a", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Secret", - "Description": "", - "GMNotes": "", - "Memo": "secret", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230311/11AD08ED0D8BF5B237444DAD0AF4F8144297A485/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - "7": { - "GUID": "2b4628", - "Name": "Custom_Token", - "Transform": { - "posX": 44.0, - "posY": 1.5, - "posZ": 8.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.17, - "scaleY": 0.17, - "scaleZ": 0.17 - }, - "Nickname": "Supply", - "Description": "", - "GMNotes": "", - "Memo": "supply", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/2028355744161230402/6486457CE96C04945473D4E079CBFFAF54C7EE1B/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.3, - "MergeDistancePixels": 10.0, - "StandUp": false, - "Stackable": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - } - }, - { - "GUID": "498ec0", - "Name": "Custom_Token", - "Transform": { - "posX": 0.0, - "posY": 3.0, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.26, - "scaleY": 1.0, - "scaleZ": 0.26 - }, - "Nickname": "Resource Counter", - "Description": "", - "GMNotes": "", - "Memo": "resourceCounter", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/949599153663401115/EAA6D40FC6E15204BBE551BCDED35CC8C75111BF/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/GenericCounter\")\nend)\n__bundle_register(\"core/GenericCounter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nMIN_VALUE = 0\r\nMAX_VALUE = 99\r\nval = 0\r\n\r\nfunction onSave() return JSON.encode(val) end\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n val = JSON.decode(savedData)\r\n end\r\n\r\n local name = self.getName()\r\n local position = {}\r\n\r\n if name == \"Damage\" or name == \"Resources\" or name == \"Resource Counter\" then\r\n position = { 0, 0.06, 0.1 }\r\n elseif name == \"Horror\" then\r\n position = { -0.025, 0.06, -0.025 }\r\n else\r\n position = { 0, 0.06, 0 }\r\n end\r\n\r\n self.createButton({\r\n label = tostring(val),\r\n click_function = \"addOrSubtract\",\r\n function_owner = self,\r\n position = position,\r\n height = 600,\r\n width = 1000,\r\n scale = { 1.5, 1.5, 1.5 },\r\n font_size = 600,\r\n font_color = { 1, 1, 1, 100 },\r\n color = { 0, 0, 0, 0 }\r\n })\r\n\r\n self.addContextMenuItem(\"Add 5\", function() updateVal(val + 5) end)\r\n self.addContextMenuItem(\"Subtract 5\", function() updateVal(val - 5) end)\r\n self.addContextMenuItem(\"Add 10\", function() updateVal(val + 10) end)\r\n self.addContextMenuItem(\"Subtract 10\", function() updateVal(val - 10) end)\r\nend\r\n\r\nfunction updateVal(newVal)\r\n if tonumber(newVal) then\r\n val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\n end\r\nend\r\n\r\nfunction addOrSubtract(_, _, isRightClick)\r\n val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)\r\n self.editButton({ index = 0, label = tostring(val) })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "0", - "XmlUI": "" - } - ] - }, - { - "GUID": "3dbe47", - "Name": "FogOfWarTrigger", - "Transform": { - "posX": 78.0, - "posY": 1.9, - "posZ": 0.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 84.0, - "scaleY": 1.5, - "scaleZ": 3.0 - }, - "Nickname": "Game Data", - "Description": "Objects in this zone support game functionality and should not be touched", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.24999997, - "g": 0.24999997, - "b": 0.24999997, - "a": 0.75 - }, - "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, - "FogColor": "Black", - "FogHidePointers": false, - "FogReverseHiding": false, - "FogSeethrough": true, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e5aa8", - "Name": "Custom_Token", - "Transform": { - "posX": -23.6759987, - "posY": 1.57, - "posZ": 0.024000939, - "rotX": -1.9864089E-07, - "rotY": 270.0, - "rotZ": 1.12499894E-08, - "scaleX": 4.0, - "scaleY": 1.0, - "scaleZ": 4.0 - }, - "Nickname": "SCED Tour", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/Q1J2Dgl.png", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 5.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/tour/TourStarter\")\nend)\n__bundle_register(\"core/tour/TourStarter\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal tourManager = require(\"core/tour/TourManager\")\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n click_function = \"startTour\",\r\n function_owner = self,\r\n position = { 1.27, 0.05, 0.035},\r\n width = 500,\r\n height = 20,\r\n color = { 0, 0, 0, 0 },\r\n -- TTS has a minium height for buttons, have to scale the Z-axis down to get the right size\r\n scale = { 1, 1, 0.82 },\r\n tooltip = \"Start the Tour\",\r\n })\r\n self.createButton({\r\n click_function = \"deleteStarter\",\r\n function_owner = self,\r\n position = { 1.27, 0.05, 0.309},\r\n width = 500,\r\n height = 20,\r\n color = { 0, 0, 0, 0 },\r\n -- TTS has a minium height for buttons, have to scale the Z-axis down to get the right size\r\n scale = { 1, 1, 0.82 },\r\n tooltip = \"Delete this Panel\",\r\n })\r\nend\r\n\r\nfunction startTour(_, playerColor, _)\r\n tourManager.startTour(playerColor)\r\nend\r\n\r\nfunction deleteStarter(_, _, _)\r\n self.destruct()\r\nend\r\nend)\n__bundle_register(\"core/tour/TourManager\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n require(\"core/tour/TourScript\")\r\n require(\"core/tour/TourCard\")\r\n local TourManager = { }\r\n local internal = { }\r\n\r\n -- Base IDs for various tour card UI elements. Actual IDs will have _[playerColor] appended\r\n local CARD_ID = \"tourCard\"\r\n local LEFT_NARRATOR_ID = \"tourNarratorImageLeft\"\r\n local RIGHT_NARRATOR_ID = \"tourNarratorImageRight\"\r\n local BUBBLE_ID = \"tourSpeechBubble\"\r\n local TEXT_ID = \"tourText\"\r\n local NEXT_BUTTON_ID = \"tourNext\"\r\n local STOP_BUTTON_ID = \"tourStop\"\r\n\r\n -- Table centerpoint for the camera hook object. Camera handling is a bit erratic so it doesn't\r\n -- always land right where you think it's going to, but it's close\r\n local HOOK_CAMERA_HOME = {\r\n x = -30.2,\r\n y = 60,\r\n z = 0,\r\n }\r\n\r\n -- Default (0) position for the camera, as defined in the mod. If we don't recreate this position\r\n -- EXACTLY when exiting the tour then camera controls get weird\r\n local DEFAULT_CAMERA_POS = {\r\n position = { x = -22.265, y = -2.5, z = 5.2575},\r\n pitch=64.343,\r\n yaw=90.333,\r\n distance=104.7}\r\n\r\n -- Global XML coordinates where we can present a card\r\n local SCREEN_POSITIONS = {\r\n center = \"0 0 0\",\r\n north = \"0 300 0\",\r\n east = \"600 0 0\",\r\n west = \"-600 0 0\",\r\n south = \"0 -300 0\",\r\n -- Northwest is only used by the Mandy card, move it a little right than standard so it's\r\n -- closer to the importer\r\n northwest = \"-500 300 0\",\r\n northeast = \"600 300 0\",\r\n southwest = \"-600 -300 0\",\r\n -- Used by the Diana and Wini cards referencing the bottom-right global controls, moved a little\r\n -- closer to them\r\n southeast = \"730 -365 0\"\r\n }\r\n\r\n -- Tracks the current state of the tours. Keyed by player color to keep each player's tour\r\n -- separate, will hold the camera hook and current card.\r\n local tourState = { }\r\n\r\n -- Kicks off the tour by initializing the card and camera hook. A callback on the hook creation\r\n -- will then show the first card.\r\n ---@param playerColor String Player color to start the tour for\r\n TourManager.startTour = function(playerColor)\r\n tourState[playerColor] = {\r\n currentCardIndex = 1\r\n }\r\n -- Camera gets really screwy when we finalize if we don't start settled in ThirdPerson at the\r\n -- default position before attaching to the hook. Unfortunately there are no callbacks for when\r\n -- the movement is done, but the delay seems to handle it\r\n Player[playerColor].setCameraMode(\"ThirdPerson\")\r\n Player[playerColor].lookAt(DEFAULT_CAMERA_POS)\r\n -- Initial camera rotation is painfully slow. White and Orange players are likely oriented\r\n -- correctly, but need a longer start delay for Green and Red\r\n local delay = 0.5\r\n if playerColor ~= \"White\" and playerColor ~= \"Orange\" then\r\n delay = 2\r\n broadcastToColor(\"Starting the tour, please wait...\", playerColor)\r\n end\r\n Wait.time(function()\r\n internal.createTourCard(playerColor)\r\n -- XML update to add the new card takes a few frames to load, wait for it to finish then\r\n -- create the hook\r\n Wait.condition(\r\n function()\r\n internal.createCameraHook(playerColor)\r\n end,\r\n function()\r\n return not Global.UI.loading\r\n end\r\n )\r\n end, delay)\r\n end\r\n\r\n -- Shows the next card in the tour script. This method is exposed (rather than being part of\r\n -- internal) because the XMLUI callbacks expect the method to be on the object directly.\r\n ---@param player Player object to show the next card for, provided by XMLUI callback\r\n function nextCard(player)\r\n internal.hideCard(player.color)\r\n Wait.time(function()\r\n tourState[player.color].currentCardIndex = tourState[player.color].currentCardIndex + 1\r\n if tourState[player.color].currentCardIndex > #TOUR_SCRIPT then\r\n internal.finalizeTour(player.color)\r\n else\r\n internal.showCurrentCard(player.color)\r\n end\r\n end, 0.3)\r\n end\r\n\r\n -- Ends the tour and cleans up the camera. This method is exposed (rather than being part of\r\n -- internal) because the XMLUI callbacks expect the method to be on the object directly.\r\n ---@param player Player object to end the tour for, provided by XMLUI callback\r\n function stopTour(player)\r\n internal.hideCard(player.color)\r\n Wait.time(function()\r\n internal.finalizeTour(player.color)\r\n end, 0.3)\r\n end\r\n\r\n -- Updates the card UI for the script at the current index, moves the camera to the proper\r\n -- position, and shows the card.\r\n ---@param playerColor String Player color to show the current card for\r\n internal.showCurrentCard = function(playerColor)\r\n internal.updateCardDisplay(playerColor)\r\n local delay = 0\r\n local cardIndex = tourState[playerColor].currentCardIndex\r\n local hook = getObjectFromGUID(tourState[playerColor].cameraHookGuid)\r\n\r\n if not TOUR_SCRIPT[cardIndex].skipCentering then\r\n hook.setPositionSmooth(HOOK_CAMERA_HOME, false, false)\r\n delay = delay + 0.5\r\n end\r\n local lookPos\r\n if TOUR_SCRIPT[cardIndex].showObj ~= nil then\r\n local lookAtObj = getObjectFromGUID(TOUR_SCRIPT[cardIndex].showObj)\r\n lookPos = lookAtObj.getPosition()\r\n lookPos.y = TOUR_SCRIPT[cardIndex].distanceFromObj or 0\r\n -- Since camera isn't directly above the hook, changing the Y affects the visual position of\r\n -- whatever object we're trying to look at. This is an approximation, but close enough to\r\n -- keep the object more centered\r\n lookPos.x = lookPos.x - lookPos.y / 2\r\n elseif TOUR_SCRIPT[cardIndex].showPos ~= nil then\r\n lookPos = TOUR_SCRIPT[cardIndex].showPos\r\n end\r\n if lookPos ~= nil then\r\n Wait.time(function()\r\n hook.setPositionSmooth(lookPos, false, false)\r\n end, delay)\r\n delay = delay + 0.5\r\n end\r\n Wait.time(function() Global.UI.show(internal.getUiId(CARD_ID, playerColor)) end, delay)\r\n end\r\n\r\n -- Hides the current card being shown to a player. This can be in preparation for showing the\r\n -- next card, or ending the tour.\r\n ---@param playerColor String Player color to hide the current card for\r\n internal.hideCard = function(playerColor)\r\n Global.UI.hide(internal.getUiId(CARD_ID, playerColor))\r\n end\r\n\r\n -- Cleans up all the various resources associated with the tour, and (hopefully) resets the\r\n -- camera to the default position. Camera handling is erratic, the final card in the script\r\n -- should include instructions for the player to fix it.\r\n ---@param playerColor String Player color to clean up\r\n internal.finalizeTour = function(playerColor)\r\n local cameraHook = getObjectFromGUID(tourState[playerColor].cameraHookGuid)\r\n cameraHook.destruct()\r\n Player[playerColor].setCameraMode(\"ThirdPerson\")\r\n tourState[playerColor] = nil\r\n Wait.frames(function()\r\n Player[playerColor].lookAt(DEFAULT_CAMERA_POS)\r\n end, 3)\r\n end\r\n\r\n -- Updates the card UI to show the appropriate card configuration.\r\n ---@param playerColor String Player color to update card for\r\n internal.updateCardDisplay = function(playerColor)\r\n local index = tourState[playerColor].currentCardIndex\r\n Global.UI.setAttribute(internal.getUiId(LEFT_NARRATOR_ID, playerColor), \"image\", \"Inv-\" .. TOUR_SCRIPT[index].narrator)\r\n Global.UI.setAttribute(internal.getUiId(RIGHT_NARRATOR_ID, playerColor), \"image\", \"Inv-\" .. TOUR_SCRIPT[index].narrator)\r\n Global.UI.setAttribute(internal.getUiId(TEXT_ID, playerColor), \"text\", \"\\\"\" .. TOUR_SCRIPT[index].text .. \"\\\"\")\r\n local cardPos = TOUR_SCRIPT[index].position or \"north\"\r\n Global.UI.setAttribute(internal.getUiId(CARD_ID, playerColor), \"position\", SCREEN_POSITIONS[cardPos])\r\n Global.UI.setAttribute(internal.getUiId(NEXT_BUTTON_ID, playerColor), \"active\", index < #TOUR_SCRIPT)\r\n\r\n -- Adjust images so the narrator is on the left or right, as defined by the card\r\n if TOUR_SCRIPT[index].speakerSide == \"right\" then\r\n Global.UI.setAttribute(internal.getUiId(LEFT_NARRATOR_ID, playerColor), \"active\", false)\r\n Global.UI.setAttribute(internal.getUiId(RIGHT_NARRATOR_ID, playerColor), \"active\", true)\r\n Global.UI.setAttribute(internal.getUiId(BUBBLE_ID, playerColor), \"rotation\", \"0 180 0\")\r\n Global.UI.setAttribute(internal.getUiId(TEXT_ID, playerColor), \"offsetXY\", \"-15 -15\")\r\n Global.UI.setAttribute(internal.getUiId(NEXT_BUTTON_ID, playerColor), \"offsetXY\", \"-35 -45\")\r\n Global.UI.setAttribute(internal.getUiId(STOP_BUTTON_ID, playerColor), \"offsetXY\", \"5 -45\")\r\n else\r\n Global.UI.setAttribute(internal.getUiId(LEFT_NARRATOR_ID, playerColor), \"active\", true)\r\n Global.UI.setAttribute(internal.getUiId(RIGHT_NARRATOR_ID, playerColor), \"active\", false)\r\n Global.UI.setAttribute(internal.getUiId(BUBBLE_ID, playerColor), \"rotation\", \"0 0 0\")\r\n Global.UI.setAttribute(internal.getUiId(TEXT_ID, playerColor), \"offsetXY\", \"15 -15\")\r\n Global.UI.setAttribute(internal.getUiId(NEXT_BUTTON_ID, playerColor), \"offsetXY\", \"-5 -45\")\r\n Global.UI.setAttribute(internal.getUiId(STOP_BUTTON_ID, playerColor), \"offsetXY\", \"35 -45\")\r\n end\r\n end\r\n\r\n -- Creates a small, transparent object which the camera will be attached to in order to move the\r\n -- user's view around the table. This should be called only at the beginning of the tour. Once\r\n -- creation is complete the user's camera will be attached to the hook and the first card will be\r\n -- shown.\r\n ---@param playerColor String Player color to create the hook for\r\n internal.createCameraHook = function(playerColor)\r\n local hookData = {\r\n Name = \"BlockSquare\",\r\n Transform = {\r\n posX = HOOK_CAMERA_HOME.x,\r\n posY = HOOK_CAMERA_HOME.y,\r\n posZ = HOOK_CAMERA_HOME.z,\r\n rotX = 0,\r\n rotY = 270.0,\r\n rotZ = 0,\r\n scaleX = 0.1,\r\n scaleY = 0.1,\r\n scaleZ = 0.1,\r\n },\r\n ColorDiffuse = {\r\n r = 0,\r\n g = 0,\r\n b = 0,\r\n a = 0,\r\n },\r\n Locked = true,\r\n GMNotes = playerColor\r\n }\r\n\r\n spawnObjectData({ data = hookData, callback_function = internal.onHookCreated })\r\n end\r\n\r\n -- Callback for creation of the camera hook object. Will attach the camera and show the current\r\n -- (presumably first) card.\r\n ---@param hook Created object\r\n internal.onHookCreated = function(hook)\r\n local playerColor = hook.getGMNotes()\r\n tourState[playerColor].cameraHookGuid = hook.getGUID()\r\n Player[playerColor].attachCameraToObject({\r\n object = hook,\r\n offset = { x = -20, y = 30, z = 0 }\r\n })\r\n internal.showCurrentCard(playerColor)\r\n end\r\n\r\n -- Creates an XMLUI entry in Global for a player-specific tour card. Dynamically creating this\r\n -- is somewhat complex, but ensures we can properly handle any player color.\r\n ---@param playerColor String Player color to create the card for\r\n internal.createTourCard = function(playerColor)\r\n -- Make sure the card doesn't exist before we create a new one\r\n if Global.UI.getAttributes(internal.getUiId(CARD_ID, playerColor)) ~= nil then\r\n return\r\n end\r\n tourCardTemplate.attributes.id = internal.getUiId(CARD_ID, playerColor)\r\n tourCardTemplate.children[1].attributes.id = internal.getUiId(LEFT_NARRATOR_ID, playerColor)\r\n tourCardTemplate.children[2].attributes.id = internal.getUiId(RIGHT_NARRATOR_ID, playerColor)\r\n tourCardTemplate.children[3].attributes.id = internal.getUiId(BUBBLE_ID, playerColor)\r\n tourCardTemplate.children[4].attributes.id = internal.getUiId(TEXT_ID, playerColor)\r\n tourCardTemplate.children[5].attributes.id = internal.getUiId(NEXT_BUTTON_ID, playerColor)\r\n tourCardTemplate.children[5].attributes.onClick = self.getGUID()..\"/nextCard\"\r\n tourCardTemplate.children[6].attributes.id = internal.getUiId(STOP_BUTTON_ID, playerColor)\r\n tourCardTemplate.children[6].attributes.onClick = self.getGUID()..\"/stopTour\"\r\n internal.setDeepVisibility(tourCardTemplate, playerColor)\r\n\r\n local globalXml = Global.UI.getXmlTable()\r\n table.insert(globalXml, tourCardTemplate)\r\n Global.UI.setXmlTable(globalXml)\r\n end\r\n\r\n -- Panels don't cause their children to inherit their visibility value, so this recurses down the\r\n -- XML table to set all children to the same visibility.\r\n ---@param xmlUi Table. Lua table describing the XML\r\n ---@param playerColor String. String color of the player to make this visible for\r\n internal.setDeepVisibility = function(xmlUi, playerColor)\r\n xmlUi.attributes.visibility = \"\" .. playerColor\r\n if xmlUi.children ~= nil then\r\n for _, child in ipairs(xmlUi.children) do\r\n internal.setDeepVisibility(child, playerColor)\r\n end\r\n end\r\n end\r\n\r\n internal.getUiId = function(baseId, playerColor)\r\n return baseId .. \"_\" .. playerColor\r\n end\r\n\r\n return TourManager\r\nend\r\nend)\n__bundle_register(\"core/tour/TourCard\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Table definition for the tour card layout. This is functionally XMLUI in Lua form, but using\r\n-- this for dynamic creation ensures we can handle any player color without needing 10\r\n-- near-duplicate definitions in Global.xml\r\n\r\ntourCardTemplate = {\r\n tag = \"Panel\",\r\n attributes = {\r\n id = \"tourCard\",\r\n height = 215,\r\n width = 330,\r\n rotation = \"0 0 0\",\r\n position = \"0 300 30\",\r\n showAnimation = \"FadeIn\",\r\n hideAnimation = \"FadeOut\",\r\n active=false,\r\n },\r\n children = {\r\n {\r\n tag = \"Image\",\r\n attributes = {\r\n id = \"tourNarratorImageLeft\",\r\n height=120,\r\n width=80,\r\n rectAlignment=\"UpperLeft\",\r\n offsetXY = \"-80 0\",\r\n -- Image will be set when the card is updated\r\n }\r\n },\r\n {\r\n tag = \"Image\",\r\n attributes = {\r\n id = \"tourNarratorImageRight\",\r\n active = false,\r\n height=125,\r\n width=80,\r\n rectAlignment=\"UpperRight\",\r\n offsetXY = \"80 0\"\r\n -- Image will be set when the card is updated\r\n }\r\n },\r\n {\r\n tag = \"Image\",\r\n attributes = {\r\n id = \"tourSpeechBubble\",\r\n color = \"#F5F5DC\",\r\n height = 215,\r\n width = 330,\r\n rectAlignment = \"MiddleCenter\",\r\n image = \"SpeechBubble\",\r\n },\r\n },\r\n {\r\n tag = \"Text\",\r\n attributes = {\r\n id = \"tourText\",\r\n -- Everything on this is double-sized and scaled down to keep the text sharps\r\n height = 370,\r\n width = 520,\r\n scale = \"0.5 0.5 1\",\r\n rectAlignment = \"UpperCenter\",\r\n offsetXY = \"15 -15\",\r\n resizeTextForBestFit = true,\r\n resizeTextMinSize = 20,\r\n resizeTextMaxSize = 32,\r\n color = \"#050505\",\r\n alignment = \"UpperLeft\",\r\n horizontalOverflow = \"wrap\",\r\n }\r\n },\r\n {\r\n tag = \"Image\",\r\n attributes = {\r\n id = \"tourNext\",\r\n height = 45,\r\n width = 45,\r\n rectAlignment = \"LowerRight\",\r\n offsetXY = \"-5 -45\",\r\n image = \"NextArrow\"\r\n },\r\n },\r\n {\r\n tag = \"Image\",\r\n attributes = {\r\n id = \"tourStop\",\r\n height = 45,\r\n width = 45,\r\n rectAlignment = \"LowerLeft\",\r\n offsetXY = \"35 -45\",\r\n image = \"Exit\"\r\n }\r\n },\r\n }\r\n}\r\nend)\n__bundle_register(\"core/tour/TourScript\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- Script for the SCED tour. Documentation and definitions to come.\r\n\r\nTOUR_SCRIPT = {\r\n {\r\n narrator = \"Roland\",\r\n text = \"Despite my best efforts, looks like you found us. You may live to regret that. As long as you're here though we might as well show you around.\\n\\nUse the arrow to move forward, and if the horrors get to be too much you can quit whenever you like. Ready to get started?\",\r\n position = \"center\"\r\n },\r\n {\r\n narrator = \"Darrell\",\r\n text = \"Cameras can be tricky things. Best you leave handling it to the professionals during the tour. Don't try to move the camera until the tour is complete.\\n\\nOnce we're done, remember you can use the 'p' key to switch back to third-person mode, and the spacebar to reset the position.\",\r\n position = \"center\",\r\n speakerSide = \"right\",\r\n },\r\n {\r\n narrator = \"Daisy\",\r\n text = \"If you're new to the game, the library here has everything you'll need. A little research can go a long way, and looking into old newspapers for the weird and unusual can yield some surprisingly helpful information.\\n\\nI put a few right there that might prove enlightening.\",\r\n showObj = \"d99993\",\r\n distanceFromObj = 20,\r\n position = \"west\",\r\n speakerSide = \"right\"\r\n },\r\n {\r\n narrator = \"Mandy\",\r\n text = \"To survive what's coming you'll need a deck. If it's safely hidden away on ArkhamDB you can load it here, and even find the newest version after an upgrade without changing the ID.\\n\\nNo need to publish all your decks, use 'Private' and you can see it. Just make sure to select 'Make your decks public' in ArkhamDB.\",\r\n showObj = \"a28140\",\r\n distanceFromObj = -5,\r\n position = \"northwest\",\r\n skipCentering = true,\r\n },\r\n {\r\n narrator = \"Daniela\",\r\n text = \"I prefer the hands-on approach to building things, if you do too you can build a deck yourself.\\n\\nAll the cards you could ever need are here, laid out like a disassembled engine. Place the cards on the table, copy them for your deck, and you'll be ready for anything.\",\r\n showObj = \"2d30ee\",\r\n distanceFromObj = -7,\r\n position = \"south\",\r\n speakerSide = \"right\"\r\n },\r\n {\r\n narrator = \"Finn\",\r\n text = \"Ready to face the unknown? We've smuggled shocking revelations and devious enemies from all over the world. Download the campaign you want to play, then Place it on the table to see the scenarios.\\n\\nJust remember - if it turns out to be too much for you, I was never here.\",\r\n showObj = \"aca04c\",\r\n distanceFromObj = 20,\r\n position = \"northwest\",\r\n },\r\n {\r\n narrator = \"Diana\",\r\n text = \"These symbols on the bottom right are a repository of arcane knowledge, containing all the official content to download plus some deviously creative works from fans. One should beware those who seem too fond of the darkness, but you cannot deny the quality of their efforts.\\n\\nDon't see anything here? Only promoted players can access these.\",\r\n position = \"southeast\",\r\n },\r\n {\r\n narrator = \"Winifred\",\r\n text = \"No good aviator would fly a plane she didn't know and hadn't tweaked a bit herself. The gear icon contains settings to customize your play experience, from alternate ways to track your clues to a variety of helpers to streamline the game.\\n\\nEverything here is optional, but who doesn't want to go as fast as they can? Just remember that all settings affect all players, so strap in and trust your pilot!\",\r\n position = \"southeast\",\r\n },\r\n {\r\n narrator = \"Amina\",\r\n text = \"This is the Mythos area. Encounter cards, acts, and agenda will all be placed here while the large map below is where you will be exploring - be sure to set the number of investigators!\\n\\nYou can count doom on the agenda by clicking the large counter, and the smaller will automatically count doom tokens on the table. The chaos bag is in that book over on the right, and you can add or remove tokens from it whenever you need.\",\r\n showPos = { x = -2.85, y = 0, z = 0.55 },\r\n position = \"north\",\r\n speakerSide = \"right\"\r\n },\r\n {\r\n narrator = \"Gloria\",\r\n text = \"The evils that lurk in this world are out there, creeping ever closer. When they find you, this will easily draw a card from the encounter deck. The deck will even reshuffle itself when needed, for the enemies we face are unending.\",\r\n showPos = { x = -35, y = -20, z = 28 },\r\n position = \"west\",\r\n },\r\n {\r\n narrator = \"Jacqueline\",\r\n text = \"When the ire of fate finds you and the chaos looms, this large button will draw a chaos token. Click it again to return the token to the bag.\\n\\nWhether a vision of the future or a curse from the opponents we face, if you need additional tokens a right-click will draw more. I wish you luck, but have a vision of red tentacles reaching for you...\",\r\n showPos = { x = -35, y = -20, z = 4.25 },\r\n position = \"north\",\r\n skipCentering = true,\r\n speakerSide = \"right\"\r\n },\r\n {\r\n narrator = \"Preston\",\r\n text = \"I can afford to buy what I need, but for those less well-off we've provided an endless pool of tokens to track your game. Simply drag one out of the pools here.\\n\\nResources are my favorite of course, but damage and horror are as inevitable as taxes. I leave those to my bookkeeper though. Those tokens can work like counters, use the number keys to change the value.\",\r\n showObj = \"9fadf9\",\r\n position = \"north\",\r\n skipCentering = true,\r\n speakerSide = \"right\"\r\n },\r\n {\r\n narrator = \"Norman\",\r\n text = \"That's the end of the tour, but there's much more to discover if you look in the right places. Some cards have helpers on the right-click menu, and every new version adds new content and functions.\\n\\nDon't be afraid to explore, and best of luck out there! We'll all need it...\",\r\n position = \"center\",\r\n speakerSide = \"right\"\r\n },\r\n}\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "2d30ee", - "Name": "Custom_Tile", - "Transform": { - "posX": 60.0, - "posY": 1.481, - "posZ": 71.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 10.0, - "scaleY": 1.0, - "scaleZ": 10.0 - }, - "Nickname": "Player Cards", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "https://i.imgur.com/s5H1THb.jpg", - "ImageSecondaryURL": "https://i.imgur.com/s5H1THb.jpg", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"playercards/PlayerCardPanel\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/PlayerCardPanelData\")\r\nlocal spawnBag = require(\"playercards/SpawnBag\")\r\nlocal arkhamDb = require(\"arkhamdb/ArkhamDb\")\r\n\r\n-- Size and position information for the three rows of class buttons\r\nlocal CIRCLE_BUTTON_SIZE = 250\r\nlocal CLASS_BUTTONS_X_OFFSET = 0.1325\r\nlocal INVESTIGATOR_ROW_START = Vector(0.125, 0.1, -0.447)\r\nlocal LEVEL_ZERO_ROW_START = Vector(0.125, 0.1, -0.007)\r\nlocal UPGRADED_ROW_START = Vector(0.125, 0.1, 0.333)\r\n\r\n-- Size and position information for the two blocks of other buttons\r\nlocal MISC_BUTTONS_X_OFFSET = 0.155\r\nlocal WEAKNESS_ROW_START = Vector(0.157, 0.1, 0.666)\r\nlocal OTHER_ROW_START = Vector(0.605, 0.1, 0.666)\r\n\r\n-- Size and position information for the Cycle (box) buttons\r\nlocal CYCLE_BUTTON_SIZE = 468\r\nlocal CYCLE_BUTTON_START = Vector(-0.716, 0.1, -0.39)\r\nlocal CYCLE_COLUMN_COUNT = 3\r\nlocal CYCLE_BUTTONS_X_OFFSET = 0.267\r\nlocal CYCLE_BUTTONS_Z_OFFSET = 0.2665\r\n\r\nlocal ALL_CARDS_BAG_GUID = \"15bb07\"\r\n\r\nlocal STARTER_DECK_MODE_SELECTED_COLOR = { 0.2, 0.2, 0.2, 0.8 }\r\nlocal TRANSPARENT = { 0, 0, 0, 0 }\r\nlocal STARTER_DECK_MODE_STARTERS = \"starters\"\r\nlocal STARTER_DECK_MODE_CARDS_ONLY = \"cards\"\r\n\r\nlocal FACE_UP_ROTATION = { x = 0, y = 270, z = 0}\r\nlocal FACE_DOWN_ROTATION = { x = 0, y = 270, z = 180}\r\n\r\n-- ---------- IMPORTANT ----------\r\n-- Coordinates defined below are in global dimensions relative to the panel - DO NOT USE THESE\r\n-- DIRECTLY. Call scalePositions() before use, and reference the variables below\r\n\r\n-- Layout width for a single card, in global coordinate space\r\nlocal CARD_WIDTH = 2.3\r\n\r\n-- Coordinates to begin laying out cards. These vary based on the cards that are being placed by\r\n-- considering the width of the cards, number of cards, and desired spread intervals.\r\n-- IMPORTANT! Because of the mix of global card sizes and relative-to-scale positions, the X and Y\r\n-- coordinates on these provide global disances while the Z is local.\r\nlocal START_POSITIONS = {\r\n classCards = Vector(CARD_WIDTH * 9.5, 2, 1.4),\r\n investigator = Vector(6 * 2.5, 2, 1.3),\r\n cycle = Vector(CARD_WIDTH * 9.5, 2, 2.4),\r\n other = Vector(CARD_WIDTH * 9.5, 2, 1.4),\r\n randomWeakness = Vector(0, 2, 1.4),\r\n -- Because the card spread is handled by the SpawnBag, we don't know (programatically) where this\r\n -- should be placed. If more customizable cards are added it will need to be moved.\r\n summonedServitor = Vector(CARD_WIDTH * -6.5, 2, 1.7),\r\n}\r\n\r\n-- Shifts to move rows of cards, and groups of rows, as different groupings are laid out\r\nlocal CARD_ROW_OFFSET = 3.7\r\nlocal CARD_GROUP_OFFSET = 2\r\n\r\n-- Position offsets for investigator decks in investigator mode, defines the spacing for how the\r\n-- rows and columns are laid out\r\nlocal INVESTIGATOR_POSITION_SHIFT_ROW = Vector(0, 0, 11)\r\nlocal INVESTIGATOR_POSITION_SHIFT_COL = Vector(-6, 0, 0)\r\nlocal INVESTIGATOR_MAX_COLS = 6\r\n\r\n-- Positions relative to the minicard to place other stacks. Both signature card piles and starter\r\n-- decks use SIGNATURE_OFFSET\r\nlocal INVESTIGATOR_CARD_OFFSET = Vector(0, 0, 2.55)\r\nlocal INVESTIGATOR_SIGNATURE_OFFSET = Vector(0, 0, 5.75)\r\n\r\n-- USE THESE! Positions and offset shifts accounting for the scale of the panel\r\nlocal startPositions\r\nlocal cardRowOffset\r\nlocal cardGroupOffset\r\nlocal investigatorPositionShiftRow\r\nlocal investigatorPositionShiftCol\r\nlocal investigatorCardOffset\r\nlocal investigatorSignatureOffset\r\n\r\nlocal CLASS_LIST = { \"Guardian\", \"Seeker\", \"Rogue\", \"Mystic\", \"Survivor\", \"Neutral\" }\r\nlocal CYCLE_LIST = {\r\n \"Core\",\r\n \"The Dunwich Legacy\",\r\n \"The Path to Carcosa\",\r\n \"The Forgotten Age\",\r\n \"The Circle Undone\",\r\n \"The Dream-Eaters\",\r\n \"The Innsmouth Conspiracy\",\r\n \"Edge of the Earth\",\r\n \"The Scarlet Keys\",\r\n \"Investigator Packs\"\r\n}\r\n\r\nlocal excludedNonBasicWeaknesses\r\n\r\nlocal starterDeckMode = STARTER_DECK_MODE_CARDS_ONLY\r\nlocal helpVisibleToPlayers = { }\r\n\r\nfunction onSave()\r\n local saveState = {\r\n spawnBagState = spawnBag.getStateForSave(),\r\n }\r\n return JSON.encode(saveState)\r\nend\r\n\r\nfunction onLoad(savedData)\r\n arkhamDb.initialize()\r\n if (savedData ~= nil) then\r\n local saveState = JSON.decode(savedData) or { }\r\n if (saveState.spawnBagState ~= nil) then\r\n spawnBag.loadFromSave(saveState.spawnBagState)\r\n end\r\n end\r\n buildExcludedWeaknessList()\r\n createButtons()\r\nend\r\n\r\n-- Build a list of non-basic weaknesses which should be excluded from the last weakness set,\r\n-- including all signature cards and evolved weaknesses.\r\nfunction buildExcludedWeaknessList()\r\n excludedNonBasicWeaknesses = { }\r\n for _, investigator in pairs(INVESTIGATORS) do\r\n for _, signatureId in ipairs(investigator.signatures) do\r\n excludedNonBasicWeaknesses[signatureId] = true\r\n end\r\n end\r\n for _, weaknessId in ipairs(EVOLVED_WEAKNESSES) do\r\n excludedNonBasicWeaknesses[weaknessId] = true\r\n end\r\nend\r\n\r\nfunction createButtons()\r\n createHelpButton()\r\n createInvestigatorButtons()\r\n createLevelZeroButtons()\r\n createUpgradedButtons()\r\n createWeaknessButtons()\r\n createOtherButtons()\r\n createCycleButtons()\r\n createClearButton()\r\n -- Create investigator mode buttons last so the indexes are set when we need to update them\r\n createInvestigatorModeButtons()\r\nend\r\n\r\nfunction createHelpButton()\r\n self.createButton({\r\n function_owner = self,\r\n click_function = \"toggleHelp\",\r\n position = Vector(0.845, 0.1, -0.855),\r\n rotation = Vector(0, 0, 0),\r\n height = 180,\r\n width = 180,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n })\r\nend\r\n\r\nfunction createInvestigatorButtons()\r\n local invButtonParams = {\r\n function_owner = self,\r\n rotation = Vector(0, 0, 0),\r\n height = CIRCLE_BUTTON_SIZE,\r\n width = CIRCLE_BUTTON_SIZE,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n }\r\n local buttonPos = INVESTIGATOR_ROW_START:copy()\r\n for _, class in ipairs(CLASS_LIST) do\r\n invButtonParams.click_function = \"spawnInvestigators\" .. class\r\n invButtonParams.position = buttonPos\r\n self.createButton(invButtonParams)\r\n buttonPos.x = buttonPos.x + CLASS_BUTTONS_X_OFFSET\r\n self.setVar(invButtonParams.click_function, function(_, _, _) spawnInvestigatorGroup(class) end)\r\n end\r\nend\r\n\r\nfunction createLevelZeroButtons()\r\n local l0ButtonParams = {\r\n function_owner = self,\r\n rotation = Vector(0, 0, 0),\r\n height = CIRCLE_BUTTON_SIZE,\r\n width = CIRCLE_BUTTON_SIZE,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n }\r\n local buttonPos = LEVEL_ZERO_ROW_START:copy()\r\n for _, class in ipairs(CLASS_LIST) do\r\n l0ButtonParams.click_function = \"spawnBasic\" .. class\r\n l0ButtonParams.position = buttonPos\r\n self.createButton(l0ButtonParams)\r\n buttonPos.x = buttonPos.x + CLASS_BUTTONS_X_OFFSET\r\n self.setVar(l0ButtonParams.click_function, function(_, _, _) spawnClassCards(class, false) end)\r\n end\r\nend\r\n\r\nfunction createUpgradedButtons()\r\n local upgradedButtonParams = {\r\n function_owner = self,\r\n rotation = Vector(0, 0, 0),\r\n height = CIRCLE_BUTTON_SIZE,\r\n width = CIRCLE_BUTTON_SIZE,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n }\r\n local buttonPos = UPGRADED_ROW_START:copy()\r\n for _, class in ipairs(CLASS_LIST) do\r\n upgradedButtonParams.click_function = \"spawnUpgraded\" .. class\r\n upgradedButtonParams.position = buttonPos\r\n self.createButton(upgradedButtonParams)\r\n buttonPos.x = buttonPos.x + CLASS_BUTTONS_X_OFFSET\r\n self.setVar(upgradedButtonParams.click_function, function(_, _, _) spawnClassCards(class, true) end)\r\n end\r\nend\r\n\r\nfunction createWeaknessButtons()\r\n local weaknessButtonParams = {\r\n function_owner = self,\r\n rotation = Vector(0, 0, 0),\r\n height = CIRCLE_BUTTON_SIZE,\r\n width = CIRCLE_BUTTON_SIZE,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n }\r\n local buttonPos = WEAKNESS_ROW_START:copy()\r\n weaknessButtonParams.click_function = \"spawnWeaknesses\"\r\n weaknessButtonParams.tooltip = \"All Weaknesses\"\r\n weaknessButtonParams.position = buttonPos\r\n self.createButton(weaknessButtonParams)\r\n buttonPos.x = buttonPos.x + MISC_BUTTONS_X_OFFSET\r\n weaknessButtonParams.click_function = \"spawnRandomWeakness\"\r\n weaknessButtonParams.tooltip = \"Random Basic Weakness\"\r\n weaknessButtonParams.position = buttonPos\r\n self.createButton(weaknessButtonParams)\r\nend\r\n\r\nfunction createOtherButtons()\r\n local otherButtonParams = {\r\n function_owner = self,\r\n rotation = Vector(0, 0, 0),\r\n height = CIRCLE_BUTTON_SIZE,\r\n width = CIRCLE_BUTTON_SIZE,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n }\r\n local buttonPos = OTHER_ROW_START:copy()\r\n otherButtonParams.click_function = \"spawnBonded\"\r\n otherButtonParams.tooltip = \"Bonded Cards\"\r\n otherButtonParams.position = buttonPos\r\n self.createButton(otherButtonParams)\r\n buttonPos.x = buttonPos.x + MISC_BUTTONS_X_OFFSET\r\n otherButtonParams.click_function = \"spawnUpgradeSheets\"\r\n otherButtonParams.tooltip = \"Customization Upgrade Sheets\"\r\n otherButtonParams.position = buttonPos\r\n self.createButton(otherButtonParams)\r\nend\r\n\r\nfunction createCycleButtons()\r\n local cycleButtonParams = {\r\n function_owner = self,\r\n rotation = Vector(0, 0, 0),\r\n height = CYCLE_BUTTON_SIZE,\r\n width = CYCLE_BUTTON_SIZE,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n }\r\n local buttonPos = CYCLE_BUTTON_START:copy()\r\n local rowCount = 0\r\n local colCount = 0\r\n for _, cycle in ipairs(CYCLE_LIST) do\r\n cycleButtonParams.click_function = \"spawnCycle\" .. cycle\r\n cycleButtonParams.position = buttonPos\r\n cycleButtonParams.tooltip = cycle\r\n self.createButton(cycleButtonParams)\r\n self.setVar(cycleButtonParams.click_function, function(_, _, _) spawnCycle(cycle) end)\r\n colCount = colCount + 1\r\n -- If we've reached the end of a row, shift down and back to the first column\r\n if colCount >= CYCLE_COLUMN_COUNT then\r\n buttonPos = CYCLE_BUTTON_START:copy()\r\n rowCount = rowCount + 1\r\n colCount = 0\r\n buttonPos.z = buttonPos.z + CYCLE_BUTTONS_Z_OFFSET * rowCount\r\n if rowCount == 3 then\r\n -- Account for centered button on the final row\r\n buttonPos.x = buttonPos.x + CYCLE_BUTTONS_X_OFFSET\r\n end\r\n else\r\n buttonPos.x = buttonPos.x + CYCLE_BUTTONS_X_OFFSET\r\n end\r\n end\r\nend\r\n\r\nfunction createClearButton()\r\n self.createButton({\r\n function_owner = self,\r\n click_function = \"deleteAll\",\r\n position = Vector(0, 0.1, 0.852),\r\n rotation = Vector(0, 0, 0),\r\n height = 170,\r\n width = 750,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = TRANSPARENT,\r\n })\r\nend\r\n\r\nfunction createInvestigatorModeButtons()\r\n local starterMode = starterDeckMode == STARTER_DECK_MODE_STARTERS\r\n\r\n self.createButton({\r\n function_owner = self,\r\n click_function = \"setCardsOnlyMode\",\r\n position = Vector(0.251, 0.1, -0.322),\r\n rotation = Vector(0, 0, 0),\r\n height = 170,\r\n width = 760,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = starterMode and TRANSPARENT or STARTER_DECK_MODE_SELECTED_COLOR\r\n })\r\n self.createButton({\r\n function_owner = self,\r\n click_function = \"setStarterDeckMode\",\r\n position = Vector(0.66, 0.1, -0.322),\r\n rotation = Vector(0, 0, 0),\r\n height = 170,\r\n width = 760,\r\n scale = Vector(0.25, 1, 0.25),\r\n color = starterMode and STARTER_DECK_MODE_SELECTED_COLOR or TRANSPARENT\r\n })\r\n local checkX = starterMode and 0.52 or 0.11\r\n self.createButton({\r\n function_owner = self,\r\n label = \"✓\",\r\n click_function = \"doNothing\",\r\n position = Vector(checkX, 0.11, -0.317),\r\n rotation = Vector(0, 0, 0),\r\n height = 0,\r\n width = 0,\r\n scale = Vector(0.3, 1, 0.3),\r\n font_color = { 0, 0, 0 },\r\n color = { 1, 1, 1 }\r\n })\r\nend\r\n\r\nfunction toggleHelp(_, playerColor, _)\r\n if helpVisibleToPlayers[playerColor] then\r\n helpVisibleToPlayers[playerColor] = nil\r\n else\r\n helpVisibleToPlayers[playerColor] = true\r\n end\r\n updateHelpVisibility()\r\nend\r\n\r\nfunction updateHelpVisibility()\r\n local visibility = \"\"\r\n for player, _ in pairs(helpVisibleToPlayers) do\r\n if string.len(visibility) > 0 then\r\n visibility = visibility .. \"|\" .. player\r\n else\r\n visibility = player\r\n end\r\n end\r\n self.UI.setAttribute(\"helpText\", \"visibility\", visibility)\r\n self.UI.setAttribute(\"helpPanel\", \"visibility\", visibility)\r\n self.UI.setAttribute(\"helpPanel\", \"active\", string.len(visibility) > 0)\r\nend\r\n\r\nfunction setStarterDeckMode()\r\n starterDeckMode = STARTER_DECK_MODE_STARTERS\r\n updateStarterModeButtons()\r\nend\r\n\r\nfunction setCardsOnlyMode()\r\n starterDeckMode = STARTER_DECK_MODE_CARDS_ONLY\r\n updateStarterModeButtons()\r\nend\r\n\r\nfunction updateStarterModeButtons()\r\n local buttonCount = #self.getButtons()\r\n -- Buttons are 0-indexed, so the last three are -1, -2, and -3 from the size\r\n self.removeButton(buttonCount - 1)\r\n self.removeButton(buttonCount - 2)\r\n self.removeButton(buttonCount - 3)\r\n createInvestigatorModeButtons()\r\nend\r\n\r\n-- Clears the table and updates positions based on scale. Should be called before ANY card\r\n-- placement\r\nfunction prepareToPlaceCards()\r\n deleteAll()\r\n scalePositions()\r\nend\r\n\r\n-- Updates the positions based on the current object scale to ensure the relative layout functions\r\n-- properly at different scales.\r\nfunction scalePositions()\r\n -- Assume scaling is consistent in X and Z dimensions\r\n local scale = 1 / self.getScale().x\r\n startPositions = { }\r\n for key, pos in pairs(START_POSITIONS) do\r\n -- Because a scaled object means a different global size, using global distance for Z results in\r\n -- the cards being closer or farther depending on the scale. Leave the Z values and only scale\r\n -- X and Y\r\n startPositions[key] = Vector(pos)\r\n startPositions[key].x = startPositions[key].x * scale\r\n startPositions[key].y = startPositions[key].y * scale\r\n end\r\n cardRowOffset = CARD_ROW_OFFSET * scale\r\n cardGroupOffset = CARD_GROUP_OFFSET * scale\r\n investigatorPositionShiftRow = Vector(INVESTIGATOR_POSITION_SHIFT_ROW):scale(scale)\r\n investigatorPositionShiftCol = Vector(INVESTIGATOR_POSITION_SHIFT_COL):scale(scale)\r\n investigatorCardOffset = Vector(INVESTIGATOR_CARD_OFFSET):scale(scale)\r\n investigatorSignatureOffset = Vector(INVESTIGATOR_SIGNATURE_OFFSET):scale(scale)\r\nend\r\n\r\n-- Deletes all cards currently placed on the table\r\nfunction deleteAll()\r\n spawnBag.recall(true)\r\nend\r\n\r\n-- Spawn an investigator group, based on the current UI setting for either investigators or starter\r\n-- decks.\r\n---@param groupName String. Name of the group to spawn, matching a key in InvestigatorPanelData\r\nfunction spawnInvestigatorGroup(groupName)\r\n local starterMode = starterDeckMode == STARTER_DECK_MODE_STARTERS\r\n prepareToPlaceCards()\r\n Wait.frames(function()\r\n if starterMode then\r\n spawnStarters(groupName)\r\n else\r\n spawnInvestigators(groupName)\r\n end\r\n end, 2)\r\nend\r\n\r\n-- Spawn cards for all investigators in the given group. This creates piles for all defined\r\n-- investigator cards and minicards as well as the signature cards.\r\n---@param groupName String. Name of the group to spawn, matching a key in InvestigatorPanelData\r\nfunction spawnInvestigators(groupName)\r\n if INVESTIGATOR_GROUPS[groupName] == nil then\r\n printToAll(\"No \" .. groupName .. \" data yet\")\r\n return\r\n end\r\n\r\n local col = 1\r\n local row = 1\r\n local investigatorCount = #INVESTIGATOR_GROUPS[groupName]\r\n local position = getInvestigatorRowStartPos(investigatorCount, row)\r\n\r\n for i, investigatorName in ipairs(INVESTIGATOR_GROUPS[groupName]) do\r\n for _, spawnSpec in ipairs(buildInvestigatorSpawnSpec(\r\n investigatorName, INVESTIGATORS[investigatorName], position, false)) do\r\n spawnBag.spawn(spawnSpec)\r\n end\r\n position:add(investigatorPositionShiftCol)\r\n col = col + 1\r\n if col > INVESTIGATOR_MAX_COLS then\r\n col = 1\r\n row = row + 1\r\n position = getInvestigatorRowStartPos(investigatorCount, row)\r\n end\r\n end\r\nend\r\n\r\nfunction getInvestigatorRowStartPos(investigatorCount, row)\r\n local rowStart = Vector(startPositions.investigator)\r\n rowStart:add(Vector(\r\n investigatorPositionShiftRow.x * (row - 1),\r\n investigatorPositionShiftRow.y * (row - 1),\r\n investigatorPositionShiftRow.z * (row - 1)))\r\n local investigatorsInRow =\r\n math.min(investigatorCount - INVESTIGATOR_MAX_COLS * (row - 1), INVESTIGATOR_MAX_COLS)\r\n rowStart:add(Vector(\r\n investigatorPositionShiftCol.x * (INVESTIGATOR_MAX_COLS - investigatorsInRow) / 2,\r\n investigatorPositionShiftCol.y * (INVESTIGATOR_MAX_COLS - investigatorsInRow) / 2,\r\n investigatorPositionShiftCol.z * (INVESTIGATOR_MAX_COLS - investigatorsInRow) / 2))\r\n\r\n return rowStart\r\nend\r\n\r\n-- Creates the spawn spec for the investigator's signature cards.\r\n---@param investigatorName String. Name of the investigator, matching a key in\r\n--- InvestigatorPanelData\r\n---@param investigatorData Table. Spawn definition for the investigator, retrieved from\r\n--- INVESTIGATORS\r\n---@param position Vector. Where to spawn the minicard; investigagor cards will be placed below\r\nfunction buildInvestigatorSpawnSpec(investigatorName, investigatorData, position)\r\n local sigPos = Vector(position):add(investigatorSignatureOffset)\r\n local spawns = buildCommonSpawnSpec(investigatorName, investigatorData, position)\r\n table.insert(spawns, {\r\n name = investigatorName..\"signatures\",\r\n cards = investigatorData.signatures,\r\n globalPos = self.positionToWorld(sigPos),\r\n rotation = FACE_UP_ROTATION,\r\n })\r\n\r\n return spawns\r\nend\r\n\r\n-- Builds the spawn specs for minicards and investigator cards. These are common enough to be\r\n-- shared, and will only differ in whether they spawn the full stack of possible investigator and\r\n-- minicards, or only the first of each.\r\n---@param investigatorName String. Name of the investigator, matching a key in\r\n--- InvestigatorPanelData\r\n---@param investigatorData Table. Spawn definition for the investigator, retrieved from\r\n--- INVESTIGATORS\r\n---@param position Vector. Where to spawn the minicard; investigagor cards will be placed below\r\n---@param oneCardOnly Boolean. If true, will spawn only the first card in the investigator card\r\n--- and minicard lists. Otherwise, spawn them all in a deck\r\nfunction buildCommonSpawnSpec(investigatorName, investigatorData, position, oneCardOnly)\r\n local cardPos = Vector(position):add(investigatorCardOffset)\r\n return {\r\n {\r\n name = investigatorName..\"minicards\",\r\n cards = oneCardOnly and { investigatorData.minicards[1] } or investigatorData.minicards,\r\n globalPos = self.positionToWorld(position),\r\n rotation = FACE_UP_ROTATION,\r\n },\r\n {\r\n name = investigatorName..\"cards\",\r\n cards = oneCardOnly and { investigatorData.cards[1] } or investigatorData.cards,\r\n globalPos = self.positionToWorld(cardPos),\r\n rotation = FACE_UP_ROTATION,\r\n },\r\n }\r\nend\r\n\r\n-- Spawns all starter decks (single minicard and investigator card, plus the starter deck) for\r\n-- investigators in the given group.\r\n---@param groupName String. Name of the group to spawn, matching a key in InvestigatorPanelData\r\nfunction spawnStarters(groupName)\r\n local col = 1\r\n local row = 1\r\n local investigatorCount = #INVESTIGATOR_GROUPS[groupName]\r\n local position = getInvestigatorRowStartPos(investigatorCount, row)\r\n for _, investigatorName in ipairs(INVESTIGATOR_GROUPS[groupName]) do\r\n spawnStarterDeck(investigatorName, INVESTIGATORS[investigatorName], position)\r\n position:add(investigatorPositionShiftCol)\r\n col = col + 1\r\n if col > INVESTIGATOR_MAX_COLS then\r\n col = 1\r\n row = row + 1\r\n position = getInvestigatorRowStartPos(investigatorCount, row)\r\n end\r\n end\r\nend\r\n\r\n-- Spawns the defined starter deck for the given investigator's.\r\n---@param investigatorName String. Name of the investigator, matching a key in\r\n--- InvestigatorPanelData\r\nfunction spawnStarterDeck(investigatorName, investigatorData, position)\r\n for _, spawnSpec in ipairs(\r\n buildCommonSpawnSpec(investigatorName, INVESTIGATORS[investigatorName], position, true)) do\r\n spawnBag.spawn(spawnSpec)\r\n end\r\n local deckPos = Vector(position):add(investigatorSignatureOffset)\r\n arkhamDb.getDecklist(\"None\", investigatorData.starterDeck, true, false, false, function(slots)\r\n local cardIdList = { }\r\n for id, count in pairs(slots) do\r\n for i = 1, count do\r\n table.insert(cardIdList, id)\r\n end\r\n end\r\n spawnBag.spawn({\r\n name = investigatorName..\"starter\",\r\n cards = cardIdList,\r\n globalPos = self.positionToWorld(deckPos),\r\n rotation = FACE_DOWN_ROTATION\r\n })\r\n end)\r\nend\r\n-- Clears the currently placed cards, then places cards for the given class and level spread\r\n---@param cardClass String. Class to place (\"Guardian\", \"Seeker\", etc)\r\n---@param isUpgraded Boolean. If true, spawn the Level 1-5 cards. Otherwise, Level 0.\r\nfunction spawnClassCards(cardClass, isUpgraded)\r\n prepareToPlaceCards()\r\n Wait.frames(function() placeClassCards(cardClass, isUpgraded) end, 2)\r\nend\r\n\r\n-- Spawn the class cards.\r\n---@param cardClass String. Class to place (\"Guardian\", \"Seeker\", etc)\r\n---@param isUpgraded Boolean. If true, spawn the Level 1-5 cards. Otherwise, Level 0.\r\nfunction placeClassCards(cardClass, isUpgraded)\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID)\r\n local indexReady = allCardsBag.call(\"isIndexReady\")\r\n if (not indexReady) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return\r\n end\r\n local cardIdList = allCardsBag.call(\"getCardsByClassAndLevel\", {class = cardClass, upgraded = isUpgraded})\r\n\r\n local skillList = { }\r\n local eventList = { }\r\n local assetList = { }\r\n for _, cardId in ipairs(cardIdList) do\r\n local cardMetadata = allCardsBag.call(\"getCardById\", { id = cardId }).metadata\r\n if (cardMetadata.type == \"Skill\") then\r\n table.insert(skillList, cardId)\r\n elseif (cardMetadata.type == \"Event\") then\r\n table.insert(eventList, cardId)\r\n elseif (cardMetadata.type == \"Asset\") then\r\n table.insert(assetList, cardId)\r\n end\r\n end\r\n local groupPos = Vector(startPositions.classCards)\r\n if #skillList > 0 then\r\n spawnBag.spawn({\r\n name = cardClass .. (isUpgraded and \"upgraded\" or \"basic\"),\r\n cards = skillList,\r\n globalPos = self.positionToWorld(groupPos),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\n groupPos.z = groupPos.z + math.ceil(#skillList / 20) * cardRowOffset + cardGroupOffset\r\n end\r\n if #eventList > 0 then\r\n spawnBag.spawn({\r\n name = cardClass .. \"event\" .. (isUpgraded and \"upgraded\" or \"basic\"),\r\n cards = eventList,\r\n globalPos = self.positionToWorld(groupPos),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\n groupPos.z = groupPos.z + math.ceil(#eventList / 20) * cardRowOffset + cardGroupOffset\r\n end\r\n if #assetList > 0 then\r\n spawnBag.spawn({\r\n name = cardClass .. \"asset\" .. (isUpgraded and \"upgraded\" or \"basic\"),\r\n cards = assetList,\r\n globalPos = self.positionToWorld(groupPos),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\n end\r\nend\r\n\r\n-- Spawns the investigator sets and all cards for the given cycle\r\n---@param cycle String Name of a cycle, should match the standard used in card metadata\r\nfunction spawnCycle(cycle)\r\n prepareToPlaceCards()\r\n spawnInvestigators(cycle)\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID)\r\n local indexReady = allCardsBag.call(\"isIndexReady\")\r\n if (not indexReady) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return\r\n end\r\n local cycleCardList = allCardsBag.call(\"getCardsByCycle\", cycle)\r\n local copiedList = { }\r\n for i, id in ipairs(cycleCardList) do\r\n copiedList[i] = id\r\n end\r\n spawnBag.spawn({\r\n name = \"cycle\"..cycle,\r\n cards = copiedList,\r\n globalPos = self.positionToWorld(startPositions.cycle),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\nend\r\n\r\nfunction spawnBonded()\r\n prepareToPlaceCards()\r\n spawnBag.spawn({\r\n name = \"bonded\",\r\n cards = BONDED_CARD_LIST,\r\n globalPos = self.positionToWorld(startPositions.classCards),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\nend\r\n\r\nfunction spawnUpgradeSheets()\r\n prepareToPlaceCards()\r\n spawnBag.spawn({\r\n name = \"upgradeSheets\",\r\n cards = UPGRADE_SHEET_LIST,\r\n globalPos = self.positionToWorld(startPositions.classCards),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\n spawnBag.spawn({\r\n name = \"servitor\",\r\n cards = { \"09080-m\" },\r\n globalPos = self.positionToWorld(startPositions.summonedServitor),\r\n rotation = FACE_UP_ROTATION,\r\n })\r\nend\r\n\r\n-- Clears the current cards, and places all basic weaknesses on the table.\r\nfunction spawnWeaknesses()\r\n prepareToPlaceCards()\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID)\r\n local indexReady = allCardsBag.call(\"isIndexReady\")\r\n if (not indexReady) then\r\n broadcastToAll(\"Still loading player cards, please try again in a few seconds\", {0.9, 0.2, 0.2})\r\n return\r\n end\r\n local weaknessIdList = allCardsBag.call(\"getUniqueWeaknesses\")\r\n local basicWeaknessList = { }\r\n local otherWeaknessList = { }\r\n for i, id in ipairs(weaknessIdList) do\r\n local cardMetadata = allCardsBag.call(\"getCardById\", { id = id }).metadata\r\n if cardMetadata.basicWeaknessCount ~= nil and cardMetadata.basicWeaknessCount > 0 then\r\n table.insert(basicWeaknessList, id)\r\n elseif excludedNonBasicWeaknesses[id] == nil then\r\n table.insert(otherWeaknessList, id)\r\n end\r\n end\r\n local groupPos = Vector(startPositions.classCards)\r\n spawnBag.spawn({\r\n name = \"basicWeaknesses\",\r\n cards = basicWeaknessList,\r\n globalPos = self.positionToWorld(groupPos),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\n groupPos.z = groupPos.z + math.ceil(#basicWeaknessList / 20) * cardRowOffset + cardGroupOffset\r\n spawnBag.spawn({\r\n name = \"evolvedWeaknesses\",\r\n cards = EVOLVED_WEAKNESSES,\r\n globalPos = self.positionToWorld(groupPos),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\n groupPos.z = groupPos.z + math.ceil(#EVOLVED_WEAKNESSES / 20) * cardRowOffset + cardGroupOffset\r\n spawnBag.spawn({\r\n name = \"otherWeaknesses\",\r\n cards = otherWeaknessList,\r\n globalPos = self.positionToWorld(groupPos),\r\n rotation = FACE_UP_ROTATION,\r\n spread = true,\r\n spreadCols = 20\r\n })\r\nend\r\n\r\nfunction spawnRandomWeakness()\r\n prepareToPlaceCards()\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID)\r\n local weaknessId = allCardsBag.call(\"getRandomWeaknessId\")\r\n if (weaknessId == nil) then\r\n broadcastToAll(\"All basic weaknesses are in play!\", {0.9, 0.2, 0.2})\r\n return\r\n end\r\n spawnBag.spawn({\r\n name = \"randomWeakness\",\r\n cards = { weaknessId },\r\n globalPos = self.positionToWorld(startPositions.randomWeakness),\r\n rotation = FACE_UP_ROTATION,\r\n })\r\nend\r\nend)\n__bundle_register(\"arkhamdb/ArkhamDb\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local playAreaApi = require(\"core/PlayAreaApi\")\r\n local ArkhamDb = { }\r\n local internal = { }\r\n\r\n local RANDOM_WEAKNESS_ID = \"01000\"\r\n\r\n local tabooList = { }\r\n --Forward declaration\r\n ---@type Request\r\n local Request = {}\r\n local configuration\r\n\r\n -- Sets up the ArkhamDb interface. Should be called from the parent object on load.\r\n ArkhamDb.initialize = function()\r\n configuration = internal.getConfiguration()\r\n Request.start({ configuration.api_uri, configuration.taboo }, function(status)\r\n local json = JSON.decode(internal.fixUtf16String(status.text))\r\n for _, taboo in pairs(json) do\r\n ---@type \r\n local cards = {}\r\n\r\n for _, card in pairs(JSON.decode(taboo.cards)) do\r\n cards[card.code] = true\r\n end\r\n\r\n tabooList[taboo.id] = {\r\n date = taboo.date_start,\r\n cards = cards\r\n }\r\n end\r\n return true, nil\r\n end)\r\n end\r\n\r\n -- Start the deck build process for the given player color and deck ID. This\r\n -- will retrieve the deck from ArkhamDB, and pass to a callback for processing.\r\n ---@param playerColor String. Color name of the player mat to place this deck on (e.g. \"Red\").\r\n ---@param deckId String. ArkhamDB deck id to be loaded\r\n ---@param isPrivate Boolean. Whether this deck is published or private on ArkhamDB\r\n ---@param loadNewest Boolean. Whether the newest version of this deck should be loaded\r\n ---@param loadInvestigators Boolean. Whether investigator cards should be loaded as part of this\r\n --- deck\r\n ---@param callback Function. Callback which will be sent the results of this load. Parameters\r\n --- to the callback will be:\r\n --- slots Table. A map of card ID to count in the deck\r\n --- investigatorCode String. ID of the investigator in this deck\r\n --- customizations Table. The decoded table of customization upgrades in this deck\r\n --- playerColor String. Color this deck is being loaded for\r\n ArkhamDb.getDecklist = function(\r\n playerColor,\r\n deckId,\r\n isPrivate,\r\n loadNewest,\r\n loadInvestigators,\r\n callback)\r\n -- Get a simple card to see if the bag indexes are complete. If not, abort\r\n -- the deck load. The called method will handle player notification.\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n local checkCard = allCardsBag.call(\"getCardById\", { id = \"01001\" })\r\n if (checkCard ~= nil and checkCard.data == nil) then\r\n return\r\n end\r\n\r\n local deckUri = { configuration.api_uri,\r\n isPrivate and configuration.private_deck or configuration.public_deck, deckId }\r\n\r\n local deck = Request.start(deckUri, function(status)\r\n if string.find(status.text, \"\") then\r\n internal.maybePrint(\"Private deck ID \" .. deckId .. \" is not shared\", playerColor)\r\n return false, table.concat({ \"Private deck \", deckId, \" is not shared\" })\r\n end\r\n local json = JSON.decode(status.text)\r\n\r\n if not json then\r\n internal.maybePrint(\"Deck ID \" .. deckId .. \" not found\", playerColor)\r\n return false, \"Deck not found!\"\r\n end\r\n\r\n return true, json\r\n end)\r\n\r\n deck:with(internal.onDeckResult, playerColor, loadNewest, loadInvestigators, callback)\r\n end\r\n\r\n -- Logs that a card could not be loaded in the mod by printing it to the console in the given\r\n -- color of the player owning the deck. Attempts to look up the name on ArkhamDB for clarity,\r\n -- but prints the card ID if the name cannot be retrieved.\r\n ---@param cardId String. ArkhamDB ID of the card that could not be found\r\n ---@param playerColor String. Color of the player's deck that had the problem\r\n ArkhamDb.logCardNotFound = function(cardId, playerColor)\r\n local request = Request.start({\r\n configuration.api_uri,\r\n configuration.cards,\r\n cardId\r\n },\r\n function(result)\r\n local adbCardInfo = JSON.decode(internal.fixUtf16String(result.text))\r\n local cardName = adbCardInfo.real_name\r\n if (cardName ~= nil) then\r\n if (adbCardInfo.xp ~= nil and adbCardInfo.xp > 0) then\r\n cardName = cardName .. \" (\" .. adbCardInfo.xp .. \")\"\r\n end\r\n internal.maybePrint(\"Card not found: \" .. cardName .. \", ArkhamDB ID \" .. cardId, playerColor)\r\n else\r\n internal.maybePrint(\"Card not found in ArkhamDB, ID \" .. cardId, playerColor)\r\n end\r\n end)\r\n end\r\n\r\n -- Callback when the deck information is received from ArkhamDB. Parses the\r\n -- response then applies standard transformations to the deck such as adding\r\n -- random weaknesses and checking for taboos. Once the deck is processed,\r\n -- passes to loadCards to actually spawn the defined deck.\r\n ---@param deck ArkhamImportDeck\r\n ---@param playerColor String Color name of the player mat to place this deck on (e.g. \"Red\")\r\n ---@param loadNewest Boolean Whether the newest version of this deck should be loaded\r\n ---@param loadInvestigators Boolean Whether investigator cards should be loaded as part of this\r\n --- deck\r\n ---@param callback Function Callback which will be sent the results of this load. Parameters\r\n --- to the callback will be:\r\n --- slots Table. A map of card ID to count in the deck\r\n --- investigatorCode String. ID of the investigator in this deck\r\n --- bondedList A table of cardID keys to meaningless values. Card IDs in this list were\r\n --- added from a parent bonded card.\r\n --- customizations Table. The decoded table of customization upgrades in this deck\r\n --- playerColor String. Color this deck is being loaded for\r\n internal.onDeckResult = function(deck, playerColor, loadNewest, loadInvestigators, callback)\r\n -- Load the next deck in the upgrade path if the option is enabled\r\n if (loadNewest and deck.next_deck ~= nil and deck.next_deck ~= \"\") then\r\n buildDeck(playerColor, deck.next_deck)\r\n return\r\n end\r\n\r\n internal.maybePrint(table.concat({ \"Found decklist: \", deck.name }), playerColor)\r\n\r\n -- Initialize deck slot table and perform common transformations. The order of these should not\r\n -- be changed, as later steps may act on cards added in each. For example, a random weakness or\r\n -- investigator may have bonded cards or taboo entries, and should be present\r\n local slots = deck.slots\r\n internal.maybeDrawRandomWeakness(slots, playerColor)\r\n local loadAltInvestigator = \"normal\"\r\n if loadInvestigators then\r\n loadAltInvestigator = internal.addInvestigatorCards(deck, slots)\r\n end\r\n internal.maybeAddCustomizeUpgradeSheets(slots)\r\n internal.maybeAddSummonedServitor(slots)\r\n internal.maybeAddOnTheMend(slots, playerColor)\r\n internal.maybeAddRealityAcidReference(slots)\r\n local bondList = internal.extractBondedCards(slots)\r\n internal.checkTaboos(deck.taboo_id, slots, playerColor)\r\n\r\n -- get upgrades for customizable cards\r\n local customizations = {}\r\n if deck.meta then\r\n customizations = JSON.decode(deck.meta)\r\n end\r\n\r\n callback(slots, deck.investigator_code, bondList, customizations, playerColor, loadAltInvestigator)\r\n end\r\n\r\n -- Checks to see if the slot list includes the random weakness ID. If it does,\r\n -- removes it from the deck and replaces it with the ID of a random basic weakness provided by the\r\n -- all cards bag\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n --- of those cards which will be spawned\r\n ---@param playerColor String Color of the player this deck is being loaded for. Used for broadcast\r\n --- if a weakness is added.\r\n internal.maybeDrawRandomWeakness = function(slots, playerColor)\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n local randomWeaknessAmount = slots[RANDOM_WEAKNESS_ID] or 0\r\n slots[RANDOM_WEAKNESS_ID] = nil\r\n\r\n if randomWeaknessAmount ~= 0 then\r\n for i=1, randomWeaknessAmount do\r\n local weaknessId = allCardsBag.call(\"getRandomWeaknessId\")\r\n slots[weaknessId] = (slots[weaknessId] or 0) + 1\r\n end\r\n internal.maybePrint(\"Added \" .. randomWeaknessAmount .. \" random basic weakness(es) to deck\", playerColor)\r\n end\r\n end\r\n\r\n -- Adds both the investigator (XXXXX) and minicard (XXXXX-m) slots with one copy each\r\n ---@param deck Table The processed ArkhamDB deck response\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the\r\n --- number of those cards which will be spawned\r\n ---@return string: Contains the name of the art that should be loaded (\"normal\", \"promo\" or \"revised\")\r\n internal.addInvestigatorCards = function(deck, slots)\r\n local investigatorId = deck.investigator_code\r\n slots[investigatorId .. \"-m\"] = 1\r\n local deckMeta = JSON.decode(deck.meta)\r\n -- handling alternative investigator art and parallel investigators\r\n local loadAltInvestigator = \"normal\"\r\n if deckMeta ~= nil then\r\n local altFrontId = tonumber(deckMeta.alternate_front) or 0\r\n local altBackId = tonumber(deckMeta.alternate_back) or 0\r\n local altArt = { front = \"normal\", back = \"normal\" }\r\n\r\n -- translating front ID\r\n if altFrontId > 90000 and altFrontId < 90047 then\r\n altArt.front = \"parallel\"\r\n elseif altFrontId > 01500 and altFrontId < 01506 then\r\n altArt.front = \"revised\"\r\n elseif altFrontId > 98000 then\r\n altArt.front = \"promo\"\r\n end\r\n\r\n -- translating back ID\r\n if altBackId > 90000 and altBackId < 90047 then\r\n altArt.back = \"parallel\"\r\n elseif altBackId > 01500 and altBackId < 01506 then\r\n altArt.back = \"revised\"\r\n elseif altBackId > 98000 then\r\n altArt.back = \"promo\"\r\n end\r\n\r\n -- updating investigatorID based on alt investigator selection\r\n -- precedence: parallel > promo > revised\r\n if altArt.front == \"parallel\" then\r\n if altArt.back == \"parallel\" then\r\n investigatorId = investigatorId .. \"-p\"\r\n else\r\n investigatorId = investigatorId .. \"-pf\"\r\n end\r\n elseif altArt.back == \"parallel\" then\r\n investigatorId = investigatorId .. \"-pb\"\r\n elseif altArt.front == \"promo\" or altArt.back == \"promo\" then\r\n loadAltInvestigator = \"promo\"\r\n elseif altArt.front == \"revised\" or altArt.back == \"revised\" then\r\n loadAltInvestigator = \"revised\"\r\n end\r\n end\r\n slots[investigatorId] = 1\r\n deck.investigator_code = investigatorId\r\n return loadAltInvestigator\r\n end\r\n\r\n -- Process the card list looking for the customizable cards, and add their upgrade sheets if needed\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n internal.maybeAddCustomizeUpgradeSheets = function(slots)\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n for cardId, _ in pairs(slots) do\r\n -- upgrade sheets for customizable cards\r\n local upgradesheet = allCardsBag.call(\"getCardById\", { id = cardId .. \"-c\" })\r\n if upgradesheet ~= nil then\r\n slots[cardId .. \"-c\"] = 1\r\n end\r\n end\r\n end\r\n\r\n -- Process the card list looking for the Summoned Servitor, and add its minicard to the list if\r\n -- needed\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n internal.maybeAddSummonedServitor = function(slots)\r\n if slots[\"09080\"] ~= nil then\r\n slots[\"09080-m\"] = 1\r\n end\r\n end\r\n\r\n -- On the Mend should have 1-per-investigator copies set aside, but ArkhamDB always sends 1. Update\r\n -- the count based on the investigator count\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n ---@param playerColor String Color of the player this deck is being loaded for. Used for broadcast if an error occurs\r\n internal.maybeAddOnTheMend = function(slots, playerColor)\r\n if slots[\"09006\"] ~= nil then\r\n local investigatorCount = playAreaApi.getInvestigatorCount()\r\n if investigatorCount ~= nil then\r\n slots[\"09006\"] = investigatorCount\r\n else\r\n internal.maybePrint(\"Something went wrong with the load, adding 4 copies of On the Mend\", playerColor)\r\n slots[\"09006\"] = 4\r\n end\r\n end\r\n end\r\n\r\n -- Process the card list looking for Reality Acid and adds the reference sheet when needed\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number\r\n -- of those cards which will be spawned\r\n internal.maybeAddRealityAcidReference = function(slots)\r\n if slots[\"89004\"] ~= nil then\r\n slots[\"89005\"] = 1\r\n end\r\n end\r\n\r\n -- Process the slot list and looks for any cards which are bonded to those in the deck. Adds those cards to the slot list.\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned\r\n internal.extractBondedCards = function(slots)\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n -- Create a list of bonded cards first so we don't modify slots while iterating\r\n local bondedCards = { }\r\n local bondedList = { }\r\n for cardId, cardCount in pairs(slots) do\r\n local card = allCardsBag.call(\"getCardById\", { id = cardId })\r\n if (card ~= nil and card.metadata.bonded ~= nil) then\r\n for _, bond in ipairs(card.metadata.bonded) do\r\n bondedCards[bond.id] = bond.count\r\n -- We need to know which cards are bonded to determine their position, remember them\r\n bondedList[bond.id] = true\r\n -- Also adding taboo versions of bonded cards to the list\r\n bondedList[bond.id .. \"-t\"] = true\r\n end\r\n end\r\n end\r\n -- Add any bonded cards to the main slots list\r\n for bondedId, bondedCount in pairs(bondedCards) do\r\n slots[bondedId] = bondedCount\r\n end\r\n\r\n return bondedList\r\n end\r\n\r\n -- Check the deck for cards on its taboo list. If they're found, replace the entry in the slot with the Taboo id (i.e. \"XXXX\" becomes \"XXXX-t\")\r\n ---@param tabooId String The deck's taboo ID, taken from the deck response taboo_id field. May be nil, indicating that no taboo list should be used\r\n ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned\r\n internal.checkTaboos = function(tabooId, slots, playerColor)\r\n if tabooId then\r\n local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)\r\n for cardId, _ in pairs(tabooList[tabooId].cards) do\r\n if slots[cardId] ~= nil then\r\n -- Make sure there's a taboo version of the card before we replace it\r\n -- SCED only maintains the most recent taboo cards. If a deck is using\r\n -- an older taboo list it's possible the card isn't a taboo any more\r\n local tabooCard = allCardsBag.call(\"getCardById\", { id = cardId .. \"-t\" })\r\n if tabooCard == nil then\r\n local basicCard = allCardsBag.call(\"getCardById\", { id = cardId })\r\n internal.maybePrint(\"Taboo version for \" .. basicCard.data.Nickname .. \" is not available. Using standard version\", playerColor)\r\n else\r\n slots[cardId .. \"-t\"] = slots[cardId]\r\n slots[cardId] = nil\r\n end\r\n end\r\n end\r\n end\r\n end\r\n\r\n internal.maybePrint = function(message, playerColor)\r\n if playerColor ~= \"None\" then\r\n printToAll(message, playerColor)\r\n end\r\n end\r\n\r\n -- Gets the ArkhamDB config info from the configuration object.\r\n ---@return Table. Configuration data\r\n internal.getConfiguration = function()\r\n local configuration = getObjectsWithTag(\"import_configuration_provider\")[1]:getTable(\"configuration\")\r\n printPriority = configuration.priority\r\n return configuration\r\n end\r\n\r\n internal.fixUtf16String = function(str)\r\n return str:gsub(\"\\\\u(%w%w%w%w)\", function(match)\r\n return string.char(tonumber(match, 16))\r\n end)\r\n end\r\n\r\n ---@type Request\r\n Request = {\r\n is_done = false,\r\n is_successful = false\r\n }\r\n\r\n -- Creates a new instance of a Request. Should not be directly called. Instead use Request.start and Request.deferred.\r\n ---@param uri string\r\n ---@param configure fun(request: Request, status: WebRequestStatus)\r\n ---@return Request\r\n function Request:new(uri, configure)\r\n local this = {}\r\n\r\n setmetatable(this, self)\r\n self.__index = self\r\n\r\n if type(uri) == \"table\" then\r\n uri = table.concat(uri, \"/\")\r\n end\r\n\r\n this.uri = uri\r\n\r\n WebRequest.get(uri, function(status)\r\n configure(this, status)\r\n end)\r\n\r\n return this\r\n end\r\n\r\n -- Creates a new request. on_success should set the request's is_done, is_successful, and content variables.\r\n -- Deferred should be used when you don't want to set is_done immediately (such as if you want to wait for another request to finish)\r\n ---@param uri string\r\n ---@param on_success fun(request: Request, status: WebRequestStatus, vararg any)\r\n ---@param on_error fun(status: WebRequestStatus)|nil\r\n ---@vararg any[]\r\n ---@return Request\r\n function Request.deferred(uri, on_success, on_error, ...)\r\n local parameters = table.pack(...)\r\n return Request:new(uri, function(request, status)\r\n if (status.is_done) then\r\n if (status.is_error) then\r\n request.error_message = on_error and on_error(status, table.unpack(parameters)) or status.error\r\n request.is_successful = false\r\n request.is_done = true\r\n else\r\n on_success(request, status)\r\n end\r\n end\r\n end)\r\n end\r\n\r\n -- Creates a new request. on_success should return weather the resultant data is as expected, and the processed content of the request.\r\n ---@param uri string\r\n ---@param on_success fun(status: WebRequestStatus, vararg any): boolean, any\r\n ---@param on_error nil|fun(status: WebRequestStatus, vararg any): string\r\n ---@vararg any[]\r\n ---@return Request\r\n function Request.start(uri, on_success, on_error, ...)\r\n local parameters = table.pack(...)\r\n return Request.deferred(uri, function(request, status)\r\n local result, message = on_success(status, table.unpack(parameters))\r\n if not result then request.error_message = message else request.content = message end\r\n request.is_successful = result\r\n request.is_done = true\r\n end, on_error, table.unpack(parameters))\r\n end\r\n\r\n ---@param requests Request[]\r\n ---@param on_success fun(content: any[], vararg any[])\r\n ---@param on_error fun(requests: Request[], vararg any[])|nil\r\n ---@vararg any\r\n function Request.with_all(requests, on_success, on_error, ...)\r\n local parameters = table.pack(...)\r\n\r\n Wait.condition(function()\r\n ---@type any[]\r\n local results = {}\r\n\r\n ---@type Request[]\r\n local errors = {}\r\n\r\n for _, request in ipairs(requests) do\r\n if request.is_successful then\r\n table.insert(results, request.content)\r\n else\r\n table.insert(errors, request)\r\n end\r\n end\r\n\r\n if (#errors <= 0) then\r\n on_success(results, table.unpack(parameters))\r\n elseif on_error == nil then\r\n for _, request in ipairs(errors) do\r\n internal.maybePrint(table.concat({ \"[ERROR]\", request.uri, \":\", request.error_message }))\r\n end\r\n else\r\n on_error(requests, table.unpack(parameters))\r\n end\r\n end, function()\r\n for _, request in ipairs(requests) do\r\n if not request.is_done then return false end\r\n end\r\n return true\r\n end)\r\n end\r\n\r\n ---@param callback fun(content: any, vararg any)\r\n function Request:with(callback, ...)\r\n local arguments = table.pack(...)\r\n Wait.condition(function()\r\n if self.is_successful then\r\n callback(self.content, table.unpack(arguments))\r\n end\r\n end, function() return self.is_done\r\n end)\r\n end\r\n\r\n return ArkhamDb\r\nend\r\nend)\n__bundle_register(\"playercards/PlayerCardPanelData\", function(require, _LOADED, __bundle_register, __bundle_modules)\nBONDED_CARD_LIST = {\r\n \"05314\", -- Soothing Melody\r\n \"06277\", -- Wish Eater\r\n \"06019\", -- Bloodlust\r\n \"06022\", -- Pendant of the Queen\r\n \"05317\", -- Blood-rite\r\n \"06113\", -- Essence of the Dream\r\n \"06028\", -- Stars Are Right\r\n \"06025\", -- Guardian of the Crystallizer\r\n \"06283\", -- Unbound Beast\r\n \"06032\", -- Zeal\r\n \"06031\", -- Hope\r\n \"06033\", -- Augur\r\n \"06331\", -- Dream Parasite\r\n \"06015a\", -- Dream-Gate\r\n}\r\n\r\nUPGRADE_SHEET_LIST = {\r\n \"09040-c\", -- Alchemical Distillation\r\n \"09023-c\", -- Custom Modifications\r\n \"09059-c\", -- Damning Testimony\r\n \"09041-c\", -- Emperical Hypothesis\r\n \"09060-c\", -- Friends in Low Places\r\n \"09101-c\", -- Grizzled\r\n \"09061-c\", -- Honed Instinct\r\n \"09021-c\", -- Hunter's Armor\r\n \"09119-c\", -- Hyperphysical Shotcaster\r\n \"09079-c\", -- Living Ink\r\n \"09100-c\", -- Makeshift Trap\r\n \"09099-c\", -- Pocket Multi Tool\r\n \"09081-c\", -- Power Word\r\n \"09022-c\", -- Runic Axe\r\n \"09080-c\", -- Summoned Servitor\r\n \"09042-c\", -- Raven's Quill\r\n}\r\n\r\nEVOLVED_WEAKNESSES = {\r\n \"04039\",\r\n \"04041\",\r\n \"04042\",\r\n \"53014\",\r\n \"53015\",\r\n}\r\n\r\n------------------ START INVESTIGATOR DATA DEFINITION ------------------\r\nINVESTIGATOR_GROUPS = {\r\n [\"Guardian\"] = {\r\n \"Roland Banks\",\r\n \t\"Zoey Samaras\",\r\n \t\"Mark Harrigan\",\r\n \t\"Leo Anderson\",\r\n \t\"Carolyn Fern\",\r\n \t\"Tommy Muldoon\",\r\n \t\"Nathaniel Cho\",\r\n \t\"Sister Mary\",\r\n \t\"Daniela Reyes\",\r\n \t\"Carson Sinclair\"\r\n },\r\n [\"Seeker\"] = {\r\n \"Daisy Walker\",\r\n \t\"Rex Murphy\",\r\n \t\"Minh Thi Phan\",\r\n \t\"Ursula Downs\",\r\n \t\"Joe Diamond\",\r\n \t\"Mandy Thompson\",\r\n \t\"Harvey Walters\",\r\n \t\"Amanda Sharpe\",\r\n \t\"Norman Withers\",\r\n \t\"Vincent Lee\"\r\n },\r\n [\"Rogue\"] = {\r\n \t\"\\\"Skids\\\" O'Toole\",\r\n \t\"Jenny Barnes\",\r\n \t\"Sefina Rousseau\",\r\n \t\"Finn Edwards\",\r\n \t\"Preston Fairmont\",\r\n \t\"Tony Morgan\",\r\n \t\"Winifred Habbamock\",\r\n \t\"Trish Scarborough\",\r\n \t\"Monterey Jack\",\r\n \t\"Kymani Jones\"\r\n },\r\n [\"Mystic\"] = {\r\n \t\"Agnes Baker\",\r\n \t\"Jim Culver\",\r\n \t\"Akachi Onyele\",\r\n \t\"Father Mateo\",\r\n \t\"Diana Stanley\",\r\n \t\"Marie Lambeau\",\r\n \t\"Luke Robinson\",\r\n \t\"Jacqueline Fine\",\r\n \t\"Dexter Drake\",\r\n \t\"Lily Chen\",\r\n \t\"Amina Zidane\",\r\n \t\"Gloria Goldberg\"\r\n },\r\n [\"Survivor\"] = {\r\n \t\"Wendy Adams\",\r\n \t\"\\\"Ashcan\\\" Pete\",\r\n \t\"William Yorick\",\r\n \t\"Calvin Wright\",\r\n \t\"Rita Young\",\r\n \t\"Patrice Hathaway\",\r\n \t\"Stella Clark\",\r\n \t\"Silas Marsh\",\r\n \t\"Bob Jenkins\",\r\n \t\"Darrell Simmons\"\r\n },\r\n [\"Neutral\"] = {\r\n \t\"Lola Hayes\",\r\n \t\"Charlie Kane\",\r\n \t\"Subject 5U-21\"\r\n },\r\n [\"Core\"] = {\r\n \"Roland Banks\",\r\n \"Daisy Walker\",\r\n \"\\\"Skids\\\" O'Toole\",\r\n \"Agnes Baker\",\r\n \"Wendy Adams\"\r\n },\r\n [\"The Dunwich Legacy\"] = {\r\n \t\"Zoey Samaras\",\r\n \t\"Rex Murphy\",\r\n \t\"Jenny Barnes\",\r\n \t\"Jim Culver\",\r\n \t\"\\\"Ashcan\\\" Pete\"\r\n },\r\n [\"The Path to Carcosa\"] = {\r\n \t\"Mark Harrigan\",\r\n \t\"Minh Thi Phan\",\r\n \t\"Sefina Rousseau\",\r\n \t\"Akachi Onyele\",\r\n \t\"William Yorick\",\r\n \t\"Lola Hayes\"\r\n },\r\n [\"The Forgotten Age\"] = {\r\n \t\"Leo Anderson\",\r\n \t\"Ursula Downs\",\r\n \t\"Finn Edwards\",\r\n \t\"Father Mateo\",\r\n \t\"Calvin Wright\"\r\n },\r\n [\"The Circle Undone\"] = {\r\n \t\"Carolyn Fern\",\r\n \t\"Joe Diamond\",\r\n \t\"Preston Fairmont\",\r\n \t\"Diana Stanley\",\r\n \t\"Rita Young\",\r\n \t\"Marie Lambeau\"\r\n },\r\n [\"The Dream-Eaters\"] = {\r\n \t\"Tommy Muldoon\",\r\n \t\"Mandy Thompson\",\r\n \t\"Tony Morgan\",\r\n \t\"Luke Robinson\",\r\n \t\"Patrice Hathaway\"\r\n },\r\n [\"Investigator Packs\"] = {\r\n \t\"Nathaniel Cho\",\r\n \t\"Harvey Walters\",\r\n \t\"Winifred Habbamock\",\r\n \t\"Jacqueline Fine\",\r\n \t\"Stella Clark\",\r\n \t\"Gloria Goldberg\"\r\n },\r\n [\"The Innsmouth Conspiracy\"] = {\r\n \t\"Sister Mary\",\r\n \t\"Amanda Sharpe\",\r\n \t\"Trish Scarborough\",\r\n \t\"Dexter Drake\",\r\n \t\"Silas Marsh\"\r\n },\r\n [\"Edge of the Earth\"] = {\r\n \t\"Daniela Reyes\",\r\n \t\"Norman Withers\",\r\n \t\"Monterey Jack\",\r\n \t\"Lily Chen\",\r\n \t\"Bob Jenkins\"\r\n },\r\n [\"The Scarlet Keys\"] = {\r\n \t\"Carson Sinclair\",\r\n \t\"Vincent Lee\",\r\n \t\"Kymani Jones\",\r\n \t\"Amina Zidane\",\r\n \t\"Darrell Simmons\",\r\n \t\"Charlie Kane\"\r\n }\r\n}\r\n\r\nINVESTIGATORS = { }\r\n--Core--\r\nINVESTIGATORS[\"Roland Banks\"] = {\r\n cards = { \"01001\", \"01001-p\", \"01001-pf\", \"01001-pb\" },\r\n minicards = { \"01001-m\" },\r\n signatures = { \"01006\", \"01007\", \"90030\", \"90031\", \"90025\", \"90026\", \"90027\", \"90028\", \"90029\", \"98005\", \"98006\" },\r\n starterDeck = \"2624931\"\r\n}\r\nINVESTIGATORS[\"Daisy Walker\"] = {\r\n cards = { \"01002\", \"01002-p\", \"01002-pf\", \"01002-pb\" },\r\n minicards = { \"01002-m\" },\r\n signatures = { \"01008\", \"01009\", \"90002\", \"90003\" },\r\n starterDeck = \"2624938\"\r\n}\r\nINVESTIGATORS[\"\\\"Skids\\\" O'Toole\"] = {\r\n\tcards = { \"01003\", \"01003-p\", \"01003-pf\", \"01003-pb\" },\r\n\tminicards = { \"01003-m\" },\r\n\tsignatures = { \"01010\", \"01011\", \"90009\", \"90010\" },\r\n\tstarterDeck = \"2624940\"\r\n}\r\nINVESTIGATORS[\"Agnes Baker\"] = {\r\n\tcards = { \"01004\", \"01004-p\", \"01004-pf\", \"01004-pb\" },\r\n\tminicards = { \"01004-m\" },\r\n\tsignatures = { \"01012\", \"01013\", \"90018\", \"90019\" },\r\n\tstarterDeck = \"2624944\"\r\n}\r\nINVESTIGATORS[\"Wendy Adams\"] = {\r\n\tcards = { \"01005\", \"01005-p\", \"01005-pf\", \"01005-pb\"},\r\n\tminicards = { \"01005-m\" },\r\n\tsignatures = { \"01014\", \"01015\", \"01515\", \"90039\", \"90040\", \"90038\" },\r\n\tstarterDeck = \"2624949\"\r\n}\r\n--Dunwich--\r\nINVESTIGATORS[\"Zoey Samaras\"] = {\r\n\tcards = { \"02001\" },\r\n\tminicards = { \"02001-m\" },\r\n\tsignatures = { \"02006\", \"02007\" },\r\n\tstarterDeck = \"2624950\"\r\n}\r\nINVESTIGATORS[\"Rex Murphy\"] = {\r\n\tcards = { \"02002\", \"02002-t\" },\r\n\tminicards = { \"02002-m\" },\r\n\tsignatures = { \"02008\", \"02009\" },\r\n\tstarterDeck = \"2624958\"\r\n}\r\nINVESTIGATORS[\"Jenny Barnes\"] = {\r\n\tcards = { \"02003\" },\r\n\tminicards = { \"02003-m\" },\r\n\tsignatures = { \"02010\", \"02011\", \"98002\", \"98003\" },\r\n\tstarterDeck = \"2624961\"\r\n}\r\nINVESTIGATORS[\"Jim Culver\"] = {\r\n\tcards = { \"02004\" },\r\n\tminicards = { \"02004-m\" },\r\n\tsignatures = { \"02012\", \"02013\" },\r\n\tstarterDeck = \"2624965\"\r\n}\r\nINVESTIGATORS[\"\\\"Ashcan\\\" Pete\"] = {\r\n\tcards = { \"02005\", \"02005-p\", \"02005-pf\", \"02005-pb\" },\r\n\tminicards = { \"02005-m\" },\r\n\tsignatures = { \"02014\", \"02015\", \"90047\", \"90048\" },\r\n\tstarterDeck = \"2624969\"\r\n}\r\n--Carcosa--\r\nINVESTIGATORS[\"Mark Harrigan\"] = {\r\n\tcards = { \"03001\" },\r\n\tminicards = { \"03001-m\" },\r\n\tsignatures = { \"03007\", \"03008\", \"03009\" },\r\n\tstarterDeck = \"2624975\"\r\n}\r\nINVESTIGATORS[\"Minh Thi Phan\"] = {\r\n\tcards = { \"03002\" },\r\n\tminicards = { \"03002-m\" },\r\n\tsignatures = { \"03010\", \"03011\" },\r\n\tstarterDeck = \"2624979\"\r\n}\r\nINVESTIGATORS[\"Sefina Rousseau\"] = {\r\n\tcards = { \"03003\" },\r\n\tminicards = { \"03003-m\" },\r\n\tsignatures = { \"03012\", \"03012\", \"03012\", \"03013\" },\r\n\tstarterDeck = \"2624981\"\r\n}\r\nINVESTIGATORS[\"Akachi Onyele\"] = {\r\n\tcards = { \"03004\" },\r\n\tminicards = { \"03004-m\" },\r\n\tsignatures = { \"03014\", \"03015\" },\r\n\tstarterDeck = \"2624984\"\r\n}\r\nINVESTIGATORS[\"William Yorick\"] = {\r\n\tcards = { \"03005\" },\r\n\tminicards = { \"03005-m\" },\r\n\tsignatures = { \"03016\", \"03017\" },\r\n\tstarterDeck = \"2624988\"\r\n}\r\nINVESTIGATORS[\"Lola Hayes\"] = {\r\n\tcards = { \"03006\", \"03006-t\" },\r\n\tminicards = { \"03006-m\" },\r\n\tsignatures = { \"03018\", \"03018\", \"03019\", \"03019\", \"03019-t\", \"03019-t\" },\r\n\tstarterDeck = \"2624990\"\r\n}\r\n--Forgotten--\r\nINVESTIGATORS[\"Leo Anderson\"] = {\r\n\tcards = { \"04001\" },\r\n\tminicards = { \"04001-m\" },\r\n\tsignatures = { \"04006\", \"04007\" },\r\n\tstarterDeck = \"2624994\"\r\n}\r\nINVESTIGATORS[\"Ursula Downs\"] = {\r\n\tcards = { \"04002\" },\r\n\tminicards = { \"04002-m\" },\r\n\tsignatures = { \"04008\", \"04009\" },\r\n\tstarterDeck = \"2625000\"\r\n}\r\nINVESTIGATORS[\"Finn Edwards\"] = {\r\n\tcards = { \"04003\" },\r\n\tminicards = { \"04003-m\" },\r\n\tsignatures = { \"04010\", \"04011\", \"04012\" },\r\n\tstarterDeck = \"2625003\"\r\n}\r\nINVESTIGATORS[\"Father Mateo\"] = {\r\n\tcards = { \"04004\" },\r\n\tminicards = { \"04004-m\" },\r\n\tsignatures = { \"04013\", \"04014\" },\r\n\tstarterDeck = \"2625005\"\r\n}\r\nINVESTIGATORS[\"Calvin Wright\"] = {\r\n\tcards = { \"04005\" },\r\n\tminicards = { \"04005-m\" },\r\n\tsignatures = { \"04015\", \"04016\" },\r\n\tstarterDeck = \"2625007\"\r\n}\r\n--Circle--\r\nINVESTIGATORS[\"Carolyn Fern\"] = {\r\n\tcards = { \"05001\" },\r\n\tminicards = { \"05001-m\" },\r\n\tsignatures = { \"05007\", \"05008\", \"98011\", \"98012\" },\r\n\tstarterDeck = \"2626342\"\r\n}\r\nINVESTIGATORS[\"Joe Diamond\"] = {\r\n\tcards = { \"05002\" },\r\n\tminicards = { \"05002-m\" },\r\n\tsignatures = { \"05009\", \"05010\" },\r\n\tstarterDeck = \"2626347\"\r\n}\r\nINVESTIGATORS[\"Preston Fairmont\"] = {\r\n\tcards = { \"05003\" },\r\n\tminicards = { \"05003-m\" },\r\n\tsignatures = { \"05011\", \"05012\" },\r\n\tstarterDeck = \"2626365\"\r\n}\r\nINVESTIGATORS[\"Diana Stanley\"] = {\r\n\tcards = { \"05004\" },\r\n\tminicards = { \"05004-m\" },\r\n\tsignatures = { \"05013\", \"05014\", \"05015\" },\r\n\tstarterDeck = \"2626385\"\r\n}\r\nINVESTIGATORS[\"Rita Young\"] = {\r\n\tcards = { \"05005\" },\r\n\tminicards = { \"05005-m\" },\r\n\tsignatures = { \"05016\", \"05017\" },\r\n\tstarterDeck = \"2626387\"\r\n}\r\nINVESTIGATORS[\"Marie Lambeau\"] = {\r\n\tcards = { \"05006\" },\r\n\tminicards = { \"05006-m\" },\r\n\tsignatures = { \"05018\", \"05019\" },\r\n\tstarterDeck = \"2626395\"\r\n}\r\n--Dream--\r\nINVESTIGATORS[\"Tommy Muldoon\"] = {\r\n\tcards = { \"06001\" },\r\n\tminicards = { \"06001-m\" },\r\n\tsignatures = { \"06006\", \"06007\" },\r\n\tstarterDeck = \"2626402\"\r\n}\r\nINVESTIGATORS[\"Mandy Thompson\"] = {\r\n\tcards = { \"06002\", \"06002-t\" },\r\n\tminicards = { \"06002-m\" },\r\n\tsignatures = { \"06008\", \"06008\", \"06008\", \"06009\" },\r\n\tstarterDeck = \"2626410\"\r\n}\r\nINVESTIGATORS[\"Tony Morgan\"] = {\r\n\tcards = { \"06003\" },\r\n\tminicards = { \"06003-m\" },\r\n\tsignatures = { \"06010\", \"06011\", \"06011\", \"06012\" },\r\n\tstarterDeck = \"2626446\"\r\n}\r\nINVESTIGATORS[\"Luke Robinson\"] = {\r\n\tcards = { \"06004\" },\r\n\tminicards = { \"06004-m\" },\r\n\tsignatures = { \"06013\", \"06014\", \"06015\" },\r\n\tstarterDeck = \"2626452\"\r\n}\r\nINVESTIGATORS[\"Patrice Hathaway\"] = {\r\n\tcards = { \"06005\" },\r\n\tminicards = { \"06005-m\" },\r\n\tsignatures = { \"06016\", \"06017\" },\r\n\tstarterDeck = \"2626461\"\r\n}\r\n--Starter--\r\nINVESTIGATORS[\"Nathaniel Cho\"] = {\r\n\tcards = { \"60101\" },\r\n\tminicards = { \"60101-m\" },\r\n\tsignatures = { \"60102\", \"60103\" },\r\n\tstarterDeck = \"2643925\"\r\n}\r\nINVESTIGATORS[\"Harvey Walters\"] = {\r\n\tcards = { \"60201\" },\r\n\tminicards = { \"60201-m\" },\r\n\tsignatures = { \"60202\", \"60203\" },\r\n\tstarterDeck = \"2643928\"\r\n}\r\nINVESTIGATORS[\"Winifred Habbamock\"] = {\r\n\tcards = { \"60301\" },\r\n\tminicards = { \"60301-m\" },\r\n\tsignatures = { \"60302\", \"60303\" },\r\n\tstarterDeck = \"2643931\"\r\n}\r\nINVESTIGATORS[\"Jacqueline Fine\"] = {\r\n\tcards = { \"60401\" },\r\n\tminicards = { \"60401-m\" },\r\n\tsignatures = { \"60402\", \"60403\" },\r\n\tstarterDeck = \"2643932\"\r\n}\r\nINVESTIGATORS[\"Stella Clark\"] = {\r\n\tcards = { \"60501\" },\r\n\tminicards = { \"60501-m\" },\r\n\tsignatures = { \"60502\", \"60502\", \"60502\", \"60503\" },\r\n\tstarterDeck = \"2643934\"\r\n}\r\n--Innsmouth--\r\nINVESTIGATORS[\"Sister Mary\"] = {\r\n\tcards = { \"07001\" },\r\n\tminicards = { \"07001-m\" },\r\n\tsignatures = { \"07006\", \"07007\" },\r\n\tstarterDeck = \"2626464\"\r\n}\r\nINVESTIGATORS[\"Amanda Sharpe\"] = {\r\n\tcards = { \"07002\" },\r\n\tminicards = { \"07002-m\" },\r\n\tsignatures = { \"07008\", \"07009\" },\r\n\tstarterDeck = \"2626469\"\r\n}\r\nINVESTIGATORS[\"Trish Scarborough\"] = {\r\n\tcards = { \"07003\" },\r\n\tminicards = { \"07003-m\" },\r\n\tsignatures = { \"07010\", \"07011\" },\r\n\tstarterDeck = \"2626479\"\r\n}\r\nINVESTIGATORS[\"Dexter Drake\"] = {\r\n\tcards = { \"07004\" },\r\n\tminicards = { \"07004-m\" },\r\n\tsignatures = { \"07012\", \"07013\", \"98017\", \"98018\" },\r\n\tstarterDeck = \"2626672\"\r\n}\r\nINVESTIGATORS[\"Silas Marsh\"] = {\r\n\tcards = { \"07005\" },\r\n\tminicards = { \"07005-m\" },\r\n\tsignatures = { \"07014\", \"07015\", \"07016\", \"98014\", \"98015\" },\r\n\tstarterDeck = \"2626685\"\r\n}\r\n--Edge--\r\nINVESTIGATORS[\"Daniela Reyes\"] = {\r\n\tcards = { \"08001\" },\r\n\tminicards = { \"08001-m\" },\r\n\tsignatures = {\"08002\", \"08003\" },\r\n\tstarterDeck = \"2634588\"\r\n}\r\nINVESTIGATORS[\"Norman Withers\"] = {\r\n\tcards = { \"08004\" },\r\n\tminicards = { \"08004-m\" },\r\n\tsignatures = { \"08005\", \"08006\", \"98008\", \"98009\" },\r\n\tstarterDeck = \"2634603\"\r\n}\r\nINVESTIGATORS[\"Monterey Jack\"] = {\r\n\tcards = { \"08007\" },\r\n\tminicards = { \"08007-m\" },\r\n\tsignatures = { \"08008\", \"08009\" },\r\n\tstarterDeck = \"2634652\"\r\n}\r\nINVESTIGATORS[\"Lily Chen\"] = {\r\n\tcards = { \"08010\" },\r\n\tminicards = { \"08010-m\" },\r\n\tsignatures = { \"08011a\", \"08012a\", \"08013a\", \"08014a\", \"08015\", \"08015\", \"08015\", \"08015\" },\r\n\tstarterDeck = \"2634658\"\r\n}\r\nINVESTIGATORS[\"Bob Jenkins\"] = {\r\n\tcards = { \"08016\" },\r\n\tminicards = { \"08016-m\" },\r\n\tsignatures = { \"08017\", \"08018\" },\r\n\tstarterDeck = \"2634643\"\r\n}\r\n--Scarlet--\r\nINVESTIGATORS[\"Carson Sinclair\"] = {\r\n\tcards = { \"09001\" },\r\n\tminicards = { \"09001-m\" },\r\n\tsignatures = { \"09002\", \"09002\", \"09003\" },\r\n\tstarterDeck = \"2634667\t\"\r\n}\r\nINVESTIGATORS[\"Vincent Lee\"] = {\r\n\tcards = { \"09004\" },\r\n\tminicards = { \"09004-m\" },\r\n\tsignatures = { \"09005\", \"09006\", \"09006\", \"09006\", \"09006\", \"09007\" },\r\n\tstarterDeck = \"2634675\"\r\n}\r\nINVESTIGATORS[\"Kymani Jones\"] = {\r\n\tcards = { \"09008\" },\r\n\tminicards = { \"09008-m\" },\r\n\tsignatures = { \"09009\", \"09010\" },\r\n\tstarterDeck = \"2634701\"\r\n}\r\nINVESTIGATORS[\"Amina Zidane\"] = {\r\n\tcards = { \"09011\" },\r\n\tminicards = { \"09011-m\" },\r\n\tsignatures = { \"09012\", \"09013\", \"09014\" },\r\n\tstarterDeck = \"2634697\"\r\n}\r\nINVESTIGATORS[\"Darrell Simmons\"] = {\r\n\tcards = { \"09015\" },\r\n\tminicards = { \"09015-m\" },\r\n\tsignatures = { \"09016\", \"09017\" },\r\n\tstarterDeck = \"2634757\"\r\n}\r\nINVESTIGATORS[\"Charlie Kane\"] = {\r\n\tcards = { \"09018\" },\r\n\tminicards = { \"09018-m\" },\r\n\tsignatures = { \"09019\", \"09020\" },\r\n\tstarterDeck = \"2634706\"\r\n}\r\nINVESTIGATORS[\"Subject 5U-21\"] = {\r\n\tcards = { \"89001\" },\r\n\tminicards = { \"89001-m\" },\r\n\tsignatures = { \"89002\", \"89003\", \"89003\", \"89003\", \"89004\", \"89004\", \"89004\", \"89005\" },\r\n\tstarterDeck = \"2624990\" -- Lola's deck id until Suzi is on ArkhamDB\r\n}\r\n\r\n--Promo--\r\nINVESTIGATORS[\"Gloria Goldberg\"] = {\r\n\tcards = { \"98019\" },\r\n\tminicards = { \"98019-m\" },\r\n\tsignatures = { \"98020\", \"98021\" },\r\n\tstarterDeck = \"2636199\"\r\n}\r\n------------------ END INVESTIGATOR DATA DEFINITION ------------------\r\nend)\n__bundle_register(\"playercards/SpawnBag\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/PlayerCardSpawner\")\r\n\r\n-- Allows spawning of defined lists of cards which will be created from the template in the All\r\n-- Player Cards bag. SpawnBag.spawn will create objects based on a table definition, while\r\n-- SpawnBag.recall will clean them all up. Recall will be limited to a small area around the\r\n-- spawned objects. Objects moved out of this area will not be cleaned up.\r\n--\r\n-- SpawnSpec: Spawning requires a spawn specification with the following structure:\r\n-- {\r\n-- name: Name of this spawn content, used for internal tracking. Multiple specs can be spawned,\r\n-- but each requires a separate name\r\n-- cards: A list of card IDs to be spawned\r\n-- globalPos: Where the spawned objects should be placed, in global coordinates. This should be\r\n-- a valid Vector with x, y, and z defined, e.g. { x = 5, y = 1, z = 15 }\r\n-- rotation: Rotation for the spawned objects. X=180 should be used for face down items. As with\r\n-- globalPos, this should be a valid Vector with x, y, and z defined\r\n-- spread: Optional Boolean. If present and true, cards will be spawned next to each other in a\r\n-- spread moving to the right. globalPos will define the location of the first card, each\r\n-- after that will be moved a predefined distance\r\n-- spreadCols: Optional integer. If spread is true, specifies the maximum columns cards will be\r\n-- laid out in before starting a new row. If spread is true but spreadCols is not set, all\r\n-- cards will be in a single row (however long that may be)\r\n-- }\r\n-- See BondedBag.ttslua for an example\r\ndo\r\n local SpawnBag = { }\r\n local internal = { }\r\n\r\n -- To assist debugging, will draw a box around the recall zone when it's set up\r\n local SHOW_RECALL_ZONE = false\r\n\r\n local ALL_CARDS_GUID = \"15bb07\"\r\n\r\n -- Distance to expand the recall zone around any added object.\r\n local RECALL_BUFFER_X = 0.9\r\n local RECALL_BUFFER_Z = 0.5\r\n\r\n -- In order to mimic the behavior of the previous memory buttons we use a temporary bag when\r\n -- recalling objects. This bag is tiny and transparent, and will be placed at the same location as\r\n -- this object. Once all placed cards are recalled bag to this bag, it will be destroyed\r\n local RECALL_BAG = {\r\n Name = \"Bag\",\r\n Transform = {\r\n scaleX = 0.01,\r\n scaleY = 0.01,\r\n scaleZ = 0.01,\r\n },\r\n ColorDiffuse = {\r\n r = 0,\r\n g = 0,\r\n b = 0,\r\n a = 0,\r\n },\r\n Locked = true,\r\n Grid = true,\r\n Snap = false,\r\n Tooltip = false,\r\n }\r\n\r\n -- Tracks what has been placed by this \"bag\" so they can be recalled\r\n local placedSpecs = { }\r\n local placedObjectGuids = { }\r\n local recallZone = nil\r\n\r\n -- Loads a table of saved state, extracted during the parent object's onLoad\r\n SpawnBag.loadFromSave = function(saveTable)\r\n placedSpecs = saveTable.placed\r\n placedObjectGuids = saveTable.placedObjects\r\n recallZone = saveTable.recall\r\n end\r\n\r\n -- Generates a table of save state that can be included in the parent object's onSave\r\n SpawnBag.getStateForSave = function()\r\n return {\r\n placed = placedSpecs,\r\n placedObjects = placedObjectGuids,\r\n recall = recallZone,\r\n }\r\n end\r\n\r\n -- Places the given spawnSpec on the table. See SpawnBag.ttslua header for spawnSpec table data and\r\n -- examples\r\n SpawnBag.spawn = function(spawnSpec)\r\n -- Limit to one placement at a time\r\n if (placedSpecs[spawnSpec.name]) then\r\n return\r\n end\r\n if (spawnSpec == nil) then\r\n -- TODO: error here\r\n return\r\n end\r\n local cardsToSpawn = { }\r\n local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID)\r\n local cardList = spawnSpec.cards\r\n for _, cardId in ipairs(cardList) do\r\n local cardData = allCardsBag.call(\"getCardById\", { id = cardId })\r\n if (cardData ~= nil) then\r\n table.insert(cardsToSpawn, cardData)\r\n else\r\n -- TODO: error here\r\n end\r\n end\r\n if (spawnSpec.spread) then\r\n Spawner.spawnCardSpread(cardsToSpawn, spawnSpec.globalPos, spawnSpec.spreadCols or 9999, spawnSpec.rotation, false, internal.recordPlacedObject)\r\n else\r\n -- TTS decks come out in reverse order of the cards, reverse the list so the input order stays\r\n -- This only applies for decks; spreads are spawned by us in the order given\r\n if spawnSpec.rotation.z != 180 then\r\n cardsToSpawn = internal.reverseList(cardsToSpawn)\r\n end\r\n Spawner.spawnCards(cardsToSpawn, spawnSpec.globalPos, spawnSpec.rotation, false, internal.recordPlacedObject)\r\n end\r\n placedSpecs[spawnSpec.name] = true\r\n end\r\n\r\n -- Recalls all spawned objects to the bag, and clears the placedObjectGuids list\r\n ---@param fast Boolean. If true, cards will be deleted directly without faking the bag recall.\r\n SpawnBag.recall = function(fast)\r\n if fast then\r\n internal.deleteSpawned()\r\n else\r\n internal.recallSpawned()\r\n end\r\n\r\n -- We've recalled everything we can, some cards may have been moved out of the\r\n -- card area. Just reset at this point.\r\n placedSpecs = { }\r\n placedObjectGuids = { }\r\n recallZone = nil\r\n end\r\n\r\n -- Deleted all spawned cards.\r\n internal.deleteSpawned = function()\r\n for guid, _ in pairs(placedObjectGuids) do\r\n local obj = getObjectFromGUID(guid)\r\n if (obj ~= nil) then\r\n if (internal.isInRecallZone(obj)) then\r\n obj.destruct()\r\n end\r\n placedObjectGuids[guid] = nil\r\n end\r\n end\r\n end\r\n\r\n -- Recalls spawned cards with a fake bag that replicates the memory bag recall style.\r\n internal.recallSpawned = function()\r\n local trash = spawnObjectData({data = RECALL_BAG, position = self.getPosition()})\r\n for guid, _ in pairs(placedObjectGuids) do\r\n local obj = getObjectFromGUID(guid)\r\n if (obj ~= nil) then\r\n if (internal.isInRecallZone(obj)) then\r\n trash.putObject(obj)\r\n end\r\n placedObjectGuids[guid] = nil\r\n end\r\n end\r\n\r\n trash.destruct()\r\n end\r\n\r\n\r\n -- Callback for when an object has been spawned. Tracks the object for later recall and updates the\r\n -- recall zone.\r\n internal.recordPlacedObject = function(spawned)\r\n placedObjectGuids[spawned.getGUID()] = true\r\n internal.expandRecallZone(spawned)\r\n end\r\n\r\n -- Expands the current recall zone based on the position of the given object. The recall zone will\r\n -- be maintained as the bounding box of the extreme object positions, plus a small amount of buffer\r\n internal.expandRecallZone = function(spawnedCard)\r\n local pos = spawnedCard.getPosition()\r\n if (recallZone == nil) then\r\n -- First card out of the bag, initialize surrounding that\r\n recallZone = { }\r\n recallZone.upperLeft = { x = pos.x + RECALL_BUFFER_X, z = pos.z + RECALL_BUFFER_Z }\r\n recallZone.lowerRight = { x = pos.x - RECALL_BUFFER_X, z = pos.z - RECALL_BUFFER_Z }\r\n return\r\n else\r\n if (pos.x > recallZone.upperLeft.x) then\r\n recallZone.upperLeft.x = pos.x + RECALL_BUFFER_X\r\n end\r\n if (pos.x < recallZone.lowerRight.x) then\r\n recallZone.lowerRight.x = pos.x - RECALL_BUFFER_X\r\n end\r\n if (pos.z > recallZone.upperLeft.z) then\r\n recallZone.upperLeft.z = pos.z + RECALL_BUFFER_Z\r\n end\r\n if (pos.z < recallZone.lowerRight.z) then\r\n recallZone.lowerRight.z = pos.z - RECALL_BUFFER_Z\r\n end\r\n end\r\n if (SHOW_RECALL_ZONE) then\r\n local y = 1.5\r\n local thick = 0.05\r\n Global.setVectorLines({\r\n {\r\n points = { {recallZone.upperLeft.x,y,recallZone.upperLeft.z}, {recallZone.upperLeft.x,y,recallZone.lowerRight.z} },\r\n color = {1,0,0},\r\n thickness = thick,\r\n rotation = {0,0,0},\r\n },\r\n {\r\n points = { {recallZone.upperLeft.x,y,recallZone.lowerRight.z}, {recallZone.lowerRight.x,y,recallZone.lowerRight.z} },\r\n color = {1,0,0},\r\n thickness = thick,\r\n rotation = {0,0,0},\r\n },\r\n {\r\n points = { {recallZone.lowerRight.x,y,recallZone.lowerRight.z}, {recallZone.lowerRight.x,y,recallZone.upperLeft.z} },\r\n color = {1,0,0},\r\n thickness = thick,\r\n rotation = {0,0,0},\r\n },\r\n {\r\n points = { {recallZone.lowerRight.x,y,recallZone.upperLeft.z}, {recallZone.upperLeft.x,y,recallZone.upperLeft.z} },\r\n color = {1,0,0},\r\n thickness = thick,\r\n rotation = {0,0,0},\r\n },\r\n })\r\n end\r\n end\r\n\r\n -- Checks to see if the given object is in the current recall zone. If there isn't a recall zone,\r\n -- will return true so that everything can be easily cleaned up.\r\n internal.isInRecallZone = function(obj)\r\n if (recallZone == nil) then\r\n return true\r\n end\r\n local pos = obj.getPosition()\r\n return (pos.x < recallZone.upperLeft.x and pos.x > recallZone.lowerRight.x\r\n and pos.z < recallZone.upperLeft.z and pos.z > recallZone.lowerRight.z)\r\n end\r\n\r\n internal.reverseList = function(list)\r\n local reversed = { }\r\n for i = 1, #list do\r\n reversed[i] = list[#list - i + 1]\r\n end\r\n\r\n return reversed\r\n end\r\n\r\n return SpawnBag\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"playercards/PlayerCardSpawner\", function(require, _LOADED, __bundle_register, __bundle_modules)\n\r\n-- Amount to shift for the next card (zShift) or next row of cards (xShift)\r\n-- Note that the table rotation is weird, and the X axis is vertical while the\r\n-- Z axis is horizontal\r\nlocal SPREAD_Z_SHIFT = -2.3\r\nlocal SPREAD_X_SHIFT = -3.66\r\n\r\nSpawner = { }\r\n\r\n-- Spawns a list of cards at the given position/rotation. This will separate cards by size -\r\n-- investigator, standard, and mini, spawning them in that order with larger cards on bottom. If\r\n-- there are different types, the provided callback will be called once for each type as it spawns\r\n-- either a card or deck.\r\n-- @param cardList: A list of Player Card data structures (data/metadata)\r\n-- @param pos Position table where the cards should be spawned (global)\r\n-- @param rot Rotation table for the orientation of the spawned cards (global)\r\n-- @param sort Boolean, true if this list of cards should be sorted before spawning\r\n-- @param callback Function, callback to be called after the card/deck spawns.\r\nSpawner.spawnCards = function(cardList, pos, rot, sort, callback)\r\n if (sort) then\r\n table.sort(cardList, Spawner.cardComparator)\r\n end\r\n\r\n local miniCards = { }\r\n local standardCards = { }\r\n local investigatorCards = { }\r\n\r\n for _, card in ipairs(cardList) do\r\n if (card.metadata.type == \"Investigator\") then\r\n table.insert(investigatorCards, card)\r\n elseif (card.metadata.type == \"Minicard\") then\r\n table.insert(miniCards, card)\r\n else\r\n table.insert(standardCards, card)\r\n end\r\n end\r\n -- Spawn each of the three types individually. Each Y position shift accounts for the thickness\r\n -- of the spawned deck\r\n local position = { x = pos.x, y = pos.y, z = pos.z }\r\n Spawner.spawn(investigatorCards, position, { rot.x, rot.y - 90, rot.z }, callback)\r\n\r\n position.y = position.y + (#investigatorCards + #standardCards) * 0.07\r\n Spawner.spawn(standardCards, position, rot, callback)\r\n\r\n position.y = position.y + (#standardCards + #miniCards) * 0.07\r\n Spawner.spawn(miniCards, position, rot, callback)\r\nend\r\n\r\nSpawner.spawnCardSpread = function(cardList, startPos, maxCols, rot, sort, callback)\r\n if (sort) then\r\n table.sort(cardList, Spawner.cardComparator)\r\n end\r\n\r\n local position = { x = startPos.x, y = startPos.y, z = startPos.z }\r\n -- Special handle the first row if we have less than a full single row, but only if there's a\r\n -- reasonable max column count. Single-row spreads will send a large value for maxCols\r\n if maxCols < 100 and #cardList < maxCols then\r\n position.z = startPos.z + ((maxCols - #cardList) / 2 * SPREAD_Z_SHIFT)\r\n end\r\n local cardsInRow = 0\r\n local rows = 0\r\n for _, card in ipairs(cardList) do\r\n Spawner.spawn({ card }, position, rot, callback)\r\n position.z = position.z + SPREAD_Z_SHIFT\r\n cardsInRow = cardsInRow + 1\r\n if cardsInRow >= maxCols then\r\n rows = rows + 1\r\n local cardsForRow = #cardList - rows * maxCols\r\n if cardsForRow > maxCols then\r\n cardsForRow = maxCols\r\n end\r\n position.z = startPos.z + ((maxCols - cardsForRow) / 2 * SPREAD_Z_SHIFT)\r\n position.x = position.x + SPREAD_X_SHIFT\r\n cardsInRow = 0\r\n end\r\n end\r\nend\r\n\r\n-- Spawn a specific list of cards. This method is for internal use and should not be called\r\n-- directly, use spawnCards instead.\r\n---@param cardList: A list of Player Card data structures (data/metadata)\r\n---@param pos table Position where the cards should be spawned (global)\r\n---@param rot table Rotation for the orientation of the spawned cards (global)\r\n---@param callback function callback to be called after the card/deck spawns.\r\nSpawner.spawn = function(cardList, pos, rot, callback)\r\n if (#cardList == 0) then\r\n return\r\n end\r\n -- Spawn a single card directly\r\n if (#cardList == 1) then\r\n spawnObjectData({\r\n data = cardList[1].data,\r\n position = pos,\r\n rotation = rot,\r\n callback_function = callback,\r\n })\r\n return\r\n end\r\n -- For multiple cards, construct a deck and spawn that\r\n local deck = Spawner.buildDeckDataTemplate()\r\n -- Decks won't inherently scale to the cards in them. The card list being spawned should be all\r\n -- the same type/size by this point, so use the first card to set the size\r\n deck.Transform = {\r\n scaleX = cardList[1].data.Transform.scaleX,\r\n scaleY = 1,\r\n scaleZ = cardList[1].data.Transform.scaleZ,\r\n }\r\n local sidewaysDeck = true\r\n for _, spawnCard in ipairs(cardList) do\r\n Spawner.addCardToDeck(deck, spawnCard.data)\r\n -- set sidewaysDeck to false if any card is not a sideways card\r\n sidewaysDeck = (sidewaysDeck and spawnCard.data.SidewaysCard)\r\n end\r\n -- set the alt view angle for sideway decks\r\n if sidewaysDeck then\r\n deck.AltLookAngle = { x = 0, y = 180, z = 90 }\r\n end\r\n spawnObjectData({\r\n data = deck,\r\n position = pos,\r\n rotation = rot,\r\n callback_function = callback,\r\n })\r\nend\r\n\r\n-- Inserts a card into the given deck. This does three things:\r\n-- 1. Add the card's data to ContainedObjects\r\n-- 2. Add the card's ID (the TTS CardID, not the Arkham ID) to the deck's\r\n-- ID list. Note that the deck's ID list is \"DeckIDs\" even though it\r\n-- contains a list of card Ids\r\n-- 3. Extract the card's CustomDeck table and add it to the deck. The deck's\r\n-- \"CustomDeck\" field is a list of all CustomDecks used by cards within the\r\n-- deck, keyed by the DeckID and referencing the custom deck table\r\n---@param deck: TTS deck data structure to add to\r\n---@param card: Data for the card to be inserted\r\nSpawner.addCardToDeck = function(deck, cardData)\r\n for customDeckId, customDeckData in pairs(cardData.CustomDeck) do\r\n if (deck.CustomDeck[customDeckId] == nil) then\r\n -- CustomDeck not added to deck yet, add it\r\n deck.CustomDeck[customDeckId] = customDeckData\r\n elseif (deck.CustomDeck[customDeckId].FaceURL == customDeckData.FaceURL) then\r\n -- CustomDeck for this card matches the current one for the deck, do nothing\r\n else\r\n -- CustomDeck data conflict\r\n local newDeckId = nil\r\n for deckId, customDeck in pairs(deck.CustomDeck) do\r\n if (customDeckData.FaceURL == customDeck.FaceURL) then\r\n newDeckId = deckId\r\n end\r\n end\r\n if (newDeckId == nil) then\r\n -- No non-conflicting custom deck for this card, add a new one\r\n newDeckId = Spawner.findNextAvailableId(deck.CustomDeck, \"1000\")\r\n deck.CustomDeck[newDeckId] = customDeckData\r\n end\r\n -- Update the card with the new CustomDeck info\r\n cardData.CardID = newDeckId..string.sub(cardData.CardID, 5)\r\n cardData.CustomDeck[customDeckId] = nil\r\n cardData.CustomDeck[newDeckId] = customDeckData\r\n break\r\n end\r\n end\r\n table.insert(deck.ContainedObjects, cardData)\r\n table.insert(deck.DeckIDs, cardData.CardID)\r\nend\r\n\r\n-- Create an empty deck data table which can have cards added to it. This\r\n-- creates a new table on each call without using metatables or previous\r\n-- definitions because we can't be sure that TTS doesn't modify the structure\r\n---@return: Table containing the minimal TTS deck data structure\r\nSpawner.buildDeckDataTemplate = function()\r\n local deck = {}\r\n deck.Name = \"Deck\"\r\n\r\n -- Card data. DeckIDs and CustomDeck entries will be built from the cards\r\n deck.ContainedObjects = {}\r\n deck.DeckIDs = {}\r\n deck.CustomDeck = {}\r\n\r\n -- Transform is required, Position and Rotation will be overridden by the spawn call so can be omitted here\r\n deck.Transform = {\r\n scaleX = 1,\r\n scaleY = 1,\r\n scaleZ = 1,\r\n }\r\n\r\n return deck\r\nend\r\n\r\n-- Returns the first ID which does not exist in the given table, starting at startId and increasing\r\n-- @param objectTable Table keyed by strings which are numbers\r\n-- @param startId First possible ID.\r\n-- @return String ID >= startId\r\nSpawner.findNextAvailableId = function(objectTable, startId)\r\n local id = startId\r\n while (objectTable[id] ~= nil) do\r\n id = tostring(tonumber(id) + 1)\r\n end\r\n\r\n return id\r\nend\r\n\r\n-- Get the PBCN (Permanent/Bonded/Customizable/Normal) value from the given metadata.\r\n---@return: 1 for Permanent, 2 for Bonded or 4 for Normal. The actual values are\r\n-- irrelevant as they provide only grouping and the order between them doesn't matter.\r\nSpawner.getpbcn = function(metadata)\r\n if metadata.permanent then\r\n return 1\r\n elseif metadata.bonded_to ~= nil then\r\n return 2\r\n else -- Normal card\r\n return 3\r\n end\r\nend\r\n\r\n-- Comparison function used to sort the cards in a deck. Groups bonded or\r\n-- permanent cards first, then sorts within theose types by name/subname.\r\n-- Normal cards will sort in standard alphabetical order, while\r\n-- permanent/bonded/customizable will be in reverse alphabetical order.\r\n--\r\n-- Since cards spawn in the order provided by this comparator, with the first\r\n-- cards ending up at the bottom of a pile, this ordering will spawn in reverse\r\n-- alphabetical order. This presents the cards in order for non-face-down\r\n-- areas, and presents them in order when Searching the face-down deck.\r\nSpawner.cardComparator = function(card1, card2)\r\n local pbcn1 = Spawner.getpbcn(card1.metadata)\r\n local pbcn2 = Spawner.getpbcn(card2.metadata)\r\n if pbcn1 ~= pbcn2 then\r\n return pbcn1 > pbcn2\r\n end\r\n if pbcn1 == 3 then\r\n if card1.data.Nickname ~= card2.data.Nickname then\r\n return card1.data.Nickname < card2.data.Nickname\r\n end\r\n return card1.data.Description < card2.data.Description\r\n else\r\n if card1.data.Nickname ~= card2.data.Nickname then\r\n return card1.data.Nickname > card2.data.Nickname\r\n end\r\n return card1.data.Description > card2.data.Description\r\n end\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"playercards/PlayerCardPanel\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"spawnBagState\":{\"placed\":[],\"placedObjects\":[]}}", - "XmlUI": "\n\r\n \r\n• Select a group to place cards\r\n• Copy the cards you want for your deck\r\n• Select a new group to clear the placed cards and see new ones\r\n• Clear to remove all cards\r\n\r\n" - }, - { - "GUID": "39b175", - "Name": "Custom_Tile", - "Transform": { - "posX": -45.299, - "posY": 1.481, - "posZ": -30.309, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Token Remover", - "Description": "See Notebook for details.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "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/1767069252728651946/04A700179A71859B828E30D2877D802749B8223C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1767069252728653004/7BD6E4B8763FE70DB6ADB22B62504361D3778309/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"util/TokenRemover\")\nend)\n__bundle_register(\"util/TokenRemover\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal zone = nil\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\n\r\n-- general code\r\nfunction onSave()\r\n return JSON.encode(zone and zone.getGUID() or nil)\r\nend\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" and savedData ~= nil then\r\n zone = getObjectFromGUID(JSON.decode(savedData))\r\n end\r\n setMenu(zone == nil)\r\nend\r\n\r\n-- context menu functions\r\nfunction enable()\r\n local scale = self.getScale()\r\n zone = spawnObject({\r\n type = \"ScriptingTrigger\",\r\n position = self.getPosition() + Vector(0, 2.5 + 0.11, 0),\r\n rotation = self.getRotation(),\r\n scale = { scale.x * 2, 5, scale.z * 2 }\r\n })\r\n setMenu(false)\r\nend\r\n\r\nfunction disable()\r\n if zone ~= nil then zone.destruct() end\r\n setMenu(true)\r\nend\r\n\r\n-- core functions\r\nfunction setMenu(isEnabled)\r\n self.clearContextMenu()\r\n if isEnabled then\r\n self.addContextMenuItem(\"Enable\", enable)\r\n else\r\n self.addContextMenuItem(\"Disable\", disable)\r\n end\r\nend\r\n\r\nfunction onObjectEnterScriptingZone(entering, object)\r\n if zone ~= entering then return end\r\n if object == self or object.type == \"Deck\" or object.type == \"Card\" then return end\r\n if tokenChecker.isChaosToken(object) then return end\r\n object.destruct()\r\nend\r\n\r\nfunction onPickUp()\r\n disable()\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "null", - "XmlUI": "" - }, - { - "GUID": "2ba7a5", - "Name": "Custom_Tile", - "Transform": { - "posX": -45.3, - "posY": 1.481, - "posZ": 29.735, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Token Remover", - "Description": "See Notebook for details.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "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/1767069252728651946/04A700179A71859B828E30D2877D802749B8223C/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1767069252728653004/7BD6E4B8763FE70DB6ADB22B62504361D3778309/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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)\nrequire(\"util/TokenRemover\")\nend)\n__bundle_register(\"util/TokenRemover\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal zone = nil\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\n\r\n-- general code\r\nfunction onSave()\r\n return JSON.encode(zone and zone.getGUID() or nil)\r\nend\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= \"\" and savedData ~= nil then\r\n zone = getObjectFromGUID(JSON.decode(savedData))\r\n end\r\n setMenu(zone == nil)\r\nend\r\n\r\n-- context menu functions\r\nfunction enable()\r\n local scale = self.getScale()\r\n zone = spawnObject({\r\n type = \"ScriptingTrigger\",\r\n position = self.getPosition() + Vector(0, 2.5 + 0.11, 0),\r\n rotation = self.getRotation(),\r\n scale = { scale.x * 2, 5, scale.z * 2 }\r\n })\r\n setMenu(false)\r\nend\r\n\r\nfunction disable()\r\n if zone ~= nil then zone.destruct() end\r\n setMenu(true)\r\nend\r\n\r\n-- core functions\r\nfunction setMenu(isEnabled)\r\n self.clearContextMenu()\r\n if isEnabled then\r\n self.addContextMenuItem(\"Enable\", enable)\r\n else\r\n self.addContextMenuItem(\"Disable\", disable)\r\n end\r\nend\r\n\r\nfunction onObjectEnterScriptingZone(entering, object)\r\n if zone ~= entering then return end\r\n if object == self or object.type == \"Deck\" or object.type == \"Card\" then return end\r\n if tokenChecker.isChaosToken(object) then return end\r\n object.destruct()\r\nend\r\n\r\nfunction onPickUp()\r\n disable()\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "null", - "XmlUI": "" - }, - { - "GUID": "6161b4", - "Name": "Custom_Tile", - "Transform": { - "posX": -58.174, - "posY": 1.481, - "posZ": -84.615, - "rotX": 0.0, - "rotY": 305.0, - "rotZ": 0.0, - "scaleX": 10.0, - "scaleY": 1.0, - "scaleZ": 10.0 - }, - "Nickname": "Decoration - Map", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/254843371583102491/71731F2E30413A4D27B0805A54B1D87DC415F8DF/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.01, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "fcfa7f", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -66.0, - "posY": 1.473, - "posZ": 55.0, - "rotX": 0.0, - "rotY": 280.0, - "rotZ": 0.0, - "scaleX": 4.3, - "scaleY": 4.3, - "scaleZ": 4.3 - }, - "Nickname": "Rulebooks, Guides and Tablets", - "Description": "Official Guides, FAQ, tutorial videos and more!", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/254843371583107453/E3BD9426DD28A525F93BAF54635A969958E991B2/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517668487233/EDDD832597F756BE94833B29B70EE21EDA95C677/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "18bd3a", - "Name": "Tablet", - "Transform": { - "posX": 20.752, - "posY": 2.742, - "posZ": -32.557, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Mysterious Chanting - Custom Content Blog", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "Tablet": { - "PageURL": "https://mysteriouschanting.wordpress.com/" - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5b268d", - "Name": "Tablet", - "Transform": { - "posX": 19.781, - "posY": 2.746, - "posZ": -32.863, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Suggested Ambient Tracks", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "Tablet": { - "PageURL": "https://itswritingitself.wordpress.com/2020/01/28/ahlcg-arkham-horror-the-card-game-the-soundtrack/" - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b78dae", - "Name": "Tablet", - "Transform": { - "posX": 20.67, - "posY": 2.742, - "posZ": -30.868, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Rulepop - Quick Rules Reference Site", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "Tablet": { - "PageURL": "https://rulepop.com/ahc/#about" - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "39ec3d", - "Name": "Tablet", - "Transform": { - "posX": 21.923, - "posY": 2.742, - "posZ": -31.133, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Official Learn to Play Video", - "Description": "YouTube", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "Tablet": { - "PageURL": "https://www.youtube.com/watch?v=zzliu_-xNNQ" - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "51cb8d", - "Name": "Tablet", - "Transform": { - "posX": 25.502, - "posY": 2.742, - "posZ": -31.091, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "In-depth Arkham Horror TTS tutorial", - "Description": "YouTube", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "Tablet": { - "PageURL": "https://www.youtube.com/watch?v=5sCmJ3e4Uos" - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "e331fc", - "Name": "Custom_PDF", - "Transform": { - "posX": -33.924, - "posY": 3.42, - "posZ": 11.828, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 3.5, - "scaleY": 1.0, - "scaleZ": 3.5 - }, - "Nickname": "The Scarlet Keys - Investigator Expansion", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomPDF": { - "PDFUrl": "http://cloud-3.steamusercontent.com/ugc/2037355435564792746/B25EA6E0A5FCE0972F1F61F18948885923F4F137/", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9cd82a", - "Name": "Custom_PDF", - "Transform": { - "posX": 22.955, - "posY": 2.455, - "posZ": -30.337, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.5, - "scaleY": 1.0, - "scaleZ": 2.5 - }, - "Nickname": "Starter Decklists", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://images-cdn.fantasyflightgames.com/filer_public/3f/6e/3f6e6e3d-ed7e-4f69-94b3-a3900386c617/ahc_decklists_v6.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "7fc24e", - "Name": "Custom_PDF", - "Transform": { - "posX": 22.421, - "posY": 2.455, - "posZ": -30.681, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.5, - "scaleY": 1.0, - "scaleZ": 2.5 - }, - "Nickname": "Official FAQ", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomPDF": { - "PDFUrl": "http://cloud-3.steamusercontent.com/ugc/1814412497119914295/B60DF4305E8031A9FF9DD38E1CC0BB022A694580/", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "49f237", - "Name": "Custom_PDF", - "Transform": { - "posX": 22.241, - "posY": 2.455, - "posZ": -29.527, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.5, - "scaleY": 1.0, - "scaleZ": 2.5 - }, - "Nickname": "Learn to Play", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://images-cdn.fantasyflightgames.com/filer_public/88/53/88538d11-5274-4b4a-ac8c-e8d758f71132/ahc01_learn_to_play_web.pdf", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "612072", - "Name": "BlockRectangle", - "Transform": { - "posX": 0.0, - "posY": 1.44, - "posZ": 42.0, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 0.1, - "scaleZ": 70.0 - }, - "Nickname": "Table Divider", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.5453, - "g": 0.5453, - "b": 0.5453, - "a": 0.7451 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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": "975c39", - "Name": "BlockRectangle", - "Transform": { - "posX": 0.0, - "posY": 1.44, - "posZ": -42.0, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 0.1, - "scaleZ": 70.0 - }, - "Nickname": "Table Divider", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.5453, - "g": 0.5453, - "b": 0.5453, - "a": 0.7451 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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": "75937e", - "Name": "BlockRectangle", - "Transform": { - "posX": -16.807, - "posY": 1.55, - "posZ": -71.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 0.1, - "scaleZ": 25.0 - }, - "Nickname": "Table Divider", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.5453, - "g": 0.5453, - "b": 0.5453, - "a": 0.7451 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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": "8646eb", - "Name": "BlockRectangle", - "Transform": { - "posX": -29.99, - "posY": 1.531, - "posZ": 71.0, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.25, - "scaleY": 0.1, - "scaleZ": 25.0 - }, - "Nickname": "Table Divider", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.5453, - "g": 0.5453, - "b": 0.5453, - "a": 0.7451 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "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": "ed4ca7", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 60.0, - "posY": 1.481, - "posZ": 89.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.75, - "scaleY": 0.1, - "scaleZ": 0.75 - }, - "Nickname": "Community-Created Player Cards/Investigators", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1597044073919513962/49846EAC1BFF6C62218A7933D1754ED37F4C72C8/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "58ddca", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 2.009, - "posZ": 81.007, - "rotX": 359.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Weird West Custom Investigators", - "Description": "Created by Samirashul", - "GMNotes": "fancreations/investigators_weird_west.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767572704/331469F5EAD01108E83C7662B9949F4AC3D00313/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"05e2c0\":{\"lock\":false,\"pos\":{\"x\":-26.3001842498779,\"y\":1.47353863716125,\"z\":-76.9456405639648},\"rot\":{\"x\":0.0208083260804415,\"y\":270.001403808594,\"z\":180.01676940918}},\"09ad66\":{\"lock\":false,\"pos\":{\"x\":-22.615743637085,\"y\":1.30868756771088,\"z\":-76.9460296630859},\"rot\":{\"x\":0.0208102352917194,\"y\":269.995422363281,\"z\":0.0167690441012383}},\"3212ba\":{\"lock\":false,\"pos\":{\"x\":-22.7136993408203,\"y\":1.30798888206482,\"z\":-79.2113952636719},\"rot\":{\"x\":0.0208046901971102,\"y\":270.013366699219,\"z\":0.0167759861797094}},\"4a4add\":{\"lock\":false,\"pos\":{\"x\":-22.7518444061279,\"y\":1.31493735313416,\"z\":-55.4262008666992},\"rot\":{\"x\":0.0208011120557785,\"y\":270.025115966797,\"z\":0.0167802777141333}},\"560bdb\":{\"lock\":false,\"pos\":{\"x\":-22.6168918609619,\"y\":1.3063827753067,\"z\":-84.818489074707},\"rot\":{\"x\":0.0208111274987459,\"y\":269.991058349609,\"z\":0.0167677570134401}},\"598416\":{\"lock\":false,\"pos\":{\"x\":-26.3000087738037,\"y\":1.48041987419128,\"z\":-53.4368515014648},\"rot\":{\"x\":0.0208082254976034,\"y\":270.000610351563,\"z\":180.01676940918}},\"60c34e\":{\"lock\":false,\"pos\":{\"x\":-22.6686191558838,\"y\":1.30925226211548,\"z\":-74.9513778686523},\"rot\":{\"x\":0.0208004489541054,\"y\":270.027587890625,\"z\":0.0167813859879971}},\"652771\":{\"lock\":false,\"pos\":{\"x\":-22.6169414520264,\"y\":1.31328415870667,\"z\":-61.2413673400879},\"rot\":{\"x\":0.0208116583526134,\"y\":269.990875244141,\"z\":0.0167675074189901}},\"6a79ce\":{\"lock\":false,\"pos\":{\"x\":-22.7609882354736,\"y\":1.31608760356903,\"z\":-51.4852142333984},\"rot\":{\"x\":0.0208025313913822,\"y\":270.020202636719,\"z\":0.0167785175144672}},\"6a93db\":{\"lock\":false,\"pos\":{\"x\":-19.3000030517578,\"y\":1.31677353382111,\"z\":-53.4358215332031},\"rot\":{\"x\":0.02080830745399,\"y\":270.000762939453,\"z\":0.0167714785784483}},\"701c64\":{\"lock\":false,\"pos\":{\"x\":-26.300142288208,\"y\":1.50220584869385,\"z\":-61.2409629821777},\"rot\":{\"x\":0.0208188965916634,\"y\":269.965393066406,\"z\":180.01676940918}},\"730956\":{\"lock\":false,\"pos\":{\"x\":-19.3000602722168,\"y\":1.31449115276337,\"z\":-61.2332382202148},\"rot\":{\"x\":0.0208089556545019,\"y\":269.998840332031,\"z\":0.0167708117514849}},\"805c5d\":{\"lock\":false,\"pos\":{\"x\":-22.7589092254639,\"y\":1.3069132566452,\"z\":-82.8301010131836},\"rot\":{\"x\":0.0208124294877052,\"y\":269.987060546875,\"z\":0.0167664363980293}},\"80c874\":{\"lock\":false,\"pos\":{\"x\":-22.5390548706055,\"y\":1.31388795375824,\"z\":-59.2751998901367},\"rot\":{\"x\":0.0208148751407862,\"y\":269.978088378906,\"z\":0.0167632009834051}},\"8782a0\":{\"lock\":false,\"pos\":{\"x\":-22.7289066314697,\"y\":1.31035208702087,\"z\":-71.1191024780273},\"rot\":{\"x\":0.0208046063780785,\"y\":270.013366699219,\"z\":0.0167760066688061}},\"8903f5\":{\"lock\":false,\"pos\":{\"x\":-22.7560520172119,\"y\":1.31155574321747,\"z\":-66.9736251831055},\"rot\":{\"x\":0.0208087116479874,\"y\":269.998748779297,\"z\":0.0167708247900009}},\"a0221f\":{\"lock\":false,\"pos\":{\"x\":-26.3001880645752,\"y\":1.47584664821625,\"z\":-69.0605850219727},\"rot\":{\"x\":0.0208174251019955,\"y\":269.968963623047,\"z\":180.01676940918}},\"a98e88\":{\"lock\":false,\"pos\":{\"x\":-22.6028499603271,\"y\":1.31268572807312,\"z\":-63.3029747009277},\"rot\":{\"x\":0.0208002626895905,\"y\":270.028137207031,\"z\":0.0167814139276743}},\"ad33a4\":{\"lock\":false,\"pos\":{\"x\":-22.6156806945801,\"y\":1.31099140644073,\"z\":-69.0756072998047},\"rot\":{\"x\":0.020808132365346,\"y\":270.002166748047,\"z\":0.0167719703167677}},\"be922f\":{\"lock\":false,\"pos\":{\"x\":-22.7915019989014,\"y\":1.30566263198853,\"z\":-87.0623779296875},\"rot\":{\"x\":0.0208004154264927,\"y\":270.027099609375,\"z\":0.0167809296399355}},\"beae03\":{\"lock\":false,\"pos\":{\"x\":-22.613883972168,\"y\":1.31556940078735,\"z\":-53.4381103515625},\"rot\":{\"x\":0.0208098795264959,\"y\":269.995910644531,\"z\":0.0167693924158812}},\"caefe0\":{\"lock\":false,\"pos\":{\"x\":-19.2935924530029,\"y\":1.30989539623261,\"z\":-76.941535949707},\"rot\":{\"x\":0.0208082757890224,\"y\":270.0009765625,\"z\":0.0167715456336737}},\"cd9447\":{\"lock\":false,\"pos\":{\"x\":-26.2995929718018,\"y\":1.47123456001282,\"z\":-84.8179931640625},\"rot\":{\"x\":0.0208129994571209,\"y\":269.984710693359,\"z\":180.01676940918}},\"db4063\":{\"lock\":false,\"pos\":{\"x\":-19.2958602905273,\"y\":1.31220149993896,\"z\":-69.0606918334961},\"rot\":{\"x\":0.0208044555038214,\"y\":270.014404296875,\"z\":0.0167763326317072}},\"f49f9a\":{\"lock\":false,\"pos\":{\"x\":-19.299768447876,\"y\":1.30758762359619,\"z\":-84.8181686401367},\"rot\":{\"x\":0.0208086315542459,\"y\":270.000061035156,\"z\":0.0167712438851595}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "c5c294", - "Name": "Custom_Model", - "Transform": { - "posX": -35.717, - "posY": 1.973, - "posZ": -126.28, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.75, - "scaleY": 0.37, - "scaleZ": 1.92 - }, - "Nickname": "Touhou Project Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_touhou_project.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1697277697641042816/D60194A8F22DA3032E6C2AC2EE040E6321A2B259/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"0115c9\":{\"lock\":false,\"pos\":{\"x\":-19.2997627258301,\"y\":1.30758762359619,\"z\":-84.8181610107422},\"rot\":{\"x\":0.0208086222410202,\"y\":270.000122070313,\"z\":0.0167708657681942}},\"0869b0\":{\"lock\":false,\"pos\":{\"x\":-16.6232986450195,\"y\":1.3645213842392,\"z\":-52.1352844238281},\"rot\":{\"x\":0.0208164509385824,\"y\":269.999725341797,\"z\":0.0167680736631155}},\"0a0573\":{\"lock\":false,\"pos\":{\"x\":-26.3001403808594,\"y\":1.27108871936798,\"z\":-69.0605621337891},\"rot\":{\"x\":359.979156494141,\"y\":89.999755859375,\"z\":359.983245849609}},\"1342d8\":{\"lock\":false,\"pos\":{\"x\":-16.6233005523682,\"y\":1.36150372028351,\"z\":-62.4441528320313},\"rot\":{\"x\":0.0208265371620655,\"y\":269.965148925781,\"z\":0.0167555063962936}},\"13d5ca\":{\"lock\":false,\"pos\":{\"x\":-16.6233386993408,\"y\":1.36186385154724,\"z\":-61.2142486572266},\"rot\":{\"x\":0.0208137799054384,\"y\":270.010925292969,\"z\":0.0167719274759293}},\"1b5323\":{\"lock\":false,\"pos\":{\"x\":-16.6233882904053,\"y\":1.3569039106369,\"z\":-78.1589050292969},\"rot\":{\"x\":0.0208134669810534,\"y\":270.008728027344,\"z\":0.0167714152485132}},\"281a12\":{\"lock\":false,\"pos\":{\"x\":-16.6235446929932,\"y\":1.35957205295563,\"z\":-69.0435638427734},\"rot\":{\"x\":0.0208162851631641,\"y\":269.999542236328,\"z\":0.0167678333818913}},\"2b6fc7\":{\"lock\":false,\"pos\":{\"x\":-16.6234893798828,\"y\":1.35495936870575,\"z\":-84.8014602661133},\"rot\":{\"x\":0.0208100788295269,\"y\":270.022277832031,\"z\":0.0167760886251926}},\"2f94db\":{\"lock\":false,\"pos\":{\"x\":-22.6168899536133,\"y\":1.3063827753067,\"z\":-84.8184814453125},\"rot\":{\"x\":0.0167733915150166,\"y\":180.006057739258,\"z\":359.979187011719}},\"36536d\":{\"lock\":false,\"pos\":{\"x\":-19.3000545501709,\"y\":1.31449115276337,\"z\":-61.2332344055176},\"rot\":{\"x\":0.0208088923245668,\"y\":270.000030517578,\"z\":0.0167707651853561}},\"47b3b0\":{\"lock\":false,\"pos\":{\"x\":-16.6235466003418,\"y\":1.35762691497803,\"z\":-75.6886901855469},\"rot\":{\"x\":0.0208199042826891,\"y\":269.987365722656,\"z\":0.0167634058743715}},\"500c37\":{\"lock\":false,\"pos\":{\"x\":-16.622652053833,\"y\":1.35460841655731,\"z\":-86.0018463134766},\"rot\":{\"x\":0.0208170153200626,\"y\":269.999633789063,\"z\":0.0167679078876972}},\"503494\":{\"lock\":false,\"pos\":{\"x\":-19.293586730957,\"y\":1.30989539623261,\"z\":-76.9415283203125},\"rot\":{\"x\":0.0208088792860508,\"y\":270.000091552734,\"z\":0.0167709421366453}},\"51e457\":{\"lock\":false,\"pos\":{\"x\":-16.621789932251,\"y\":1.35533368587494,\"z\":-83.5248031616211},\"rot\":{\"x\":0.0208167061209679,\"y\":269.998016357422,\"z\":0.0167672149837017}},\"589aa6\":{\"lock\":false,\"pos\":{\"x\":-17.1323127746582,\"y\":1.3304169178009,\"z\":-48.3126525878906},\"rot\":{\"x\":0.0208026915788651,\"y\":269.992309570313,\"z\":0.0167681984603405}},\"665ba2\":{\"lock\":false,\"pos\":{\"x\":-22.6713542938232,\"y\":1.30378520488739,\"z\":-47.1474685668945},\"rot\":{\"x\":0.0208087246865034,\"y\":269.999694824219,\"z\":0.0167711805552244}},\"6a5902\":{\"lock\":false,\"pos\":{\"x\":-16.6233062744141,\"y\":1.36415886878967,\"z\":-53.3736763000488},\"rot\":{\"x\":0.0208215937018394,\"y\":269.983764648438,\"z\":0.0167623329907656}},\"7122c7\":{\"lock\":false,\"pos\":{\"x\":-26.3001747131348,\"y\":1.26878070831299,\"z\":-76.9456329345703},\"rot\":{\"x\":359.979156494141,\"y\":89.9993057250977,\"z\":359.983215332031}},\"768f18\":{\"lock\":false,\"pos\":{\"x\":-26.29958152771,\"y\":1.26647710800171,\"z\":-84.817985534668},\"rot\":{\"x\":359.979156494141,\"y\":90.0005798339844,\"z\":359.983215332031}},\"78041d\":{\"lock\":false,\"pos\":{\"x\":-26.3001346588135,\"y\":1.27337789535522,\"z\":-61.2409591674805},\"rot\":{\"x\":359.979156494141,\"y\":89.9918670654297,\"z\":359.983245849609}},\"8b68e0\":{\"lock\":false,\"pos\":{\"x\":-19.2999973297119,\"y\":1.31677353382111,\"z\":-53.4358177185059},\"rot\":{\"x\":0.020808944478631,\"y\":270.000030517578,\"z\":0.0167707353830338}},\"8d3616\":{\"lock\":false,\"pos\":{\"x\":-26.2999992370605,\"y\":1.27566230297089,\"z\":-53.436840057373},\"rot\":{\"x\":359.979156494141,\"y\":90.0000076293945,\"z\":359.983245849609}},\"96c54e\":{\"lock\":false,\"pos\":{\"x\":-16.6233100891113,\"y\":1.36379873752594,\"z\":-54.6039886474609},\"rot\":{\"x\":0.020816121250391,\"y\":270.000244140625,\"z\":0.0167683251202106}},\"a6c471\":{\"lock\":false,\"pos\":{\"x\":-22.6138801574707,\"y\":1.31556940078735,\"z\":-53.4381103515625},\"rot\":{\"x\":0.0167721062898636,\"y\":180.002349853516,\"z\":359.979187011719}},\"cc9de1\":{\"lock\":false,\"pos\":{\"x\":-22.6169376373291,\"y\":1.31328415870667,\"z\":-61.2413673400879},\"rot\":{\"x\":0.0167721807956696,\"y\":180.001998901367,\"z\":359.979187011719}},\"ccd02d\":{\"lock\":false,\"pos\":{\"x\":-16.6233386993408,\"y\":1.36222386360168,\"z\":-59.9842529296875},\"rot\":{\"x\":0.0208138879388571,\"y\":270.010620117188,\"z\":0.0167719721794128}},\"d01288\":{\"lock\":false,\"pos\":{\"x\":-16.6233234405518,\"y\":1.35921192169189,\"z\":-70.2738494873047},\"rot\":{\"x\":0.0208166427910328,\"y\":269.999420166016,\"z\":0.0167679861187935}},\"dde8a8\":{\"lock\":false,\"pos\":{\"x\":-16.6228141784668,\"y\":1.35726404190063,\"z\":-76.9289321899414},\"rot\":{\"x\":0.0208161640912294,\"y\":269.999725341797,\"z\":0.016768041998148}},\"f01f56\":{\"lock\":false,\"pos\":{\"x\":-19.2958545684814,\"y\":1.31220149993896,\"z\":-69.0606842041016},\"rot\":{\"x\":0.0208088848739862,\"y\":270.000122070313,\"z\":0.0167712066322565}},\"f0b6f4\":{\"lock\":false,\"pos\":{\"x\":-16.6233520507813,\"y\":1.35993504524231,\"z\":-67.803825378418},\"rot\":{\"x\":0.0208160504698753,\"y\":269.999847412109,\"z\":0.0167683139443398}},\"ff2498\":{\"lock\":false,\"pos\":{\"x\":-22.6156692504883,\"y\":1.31099128723145,\"z\":-69.0755920410156},\"rot\":{\"x\":0.0167712494730949,\"y\":180.000106811523,\"z\":359.979187011719}},\"fffb0c\":{\"lock\":false,\"pos\":{\"x\":-22.6157398223877,\"y\":1.30868756771088,\"z\":-76.9460220336914},\"rot\":{\"x\":0.0167720932513475,\"y\":180.002090454102,\"z\":359.979187011719}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "48b4ca", - "Name": "Custom_Model", - "Transform": { - "posX": -24.825, - "posY": 2.361, - "posZ": -62.966, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Streets of New Capenna", - "Description": "", - "GMNotes": "fancreations/investigators_SNC.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1853807409892957080/8BAF356ADEADE6CF377438200268899C64FA420E/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"00df29\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3082,\"z\":92.4413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"1d30b7\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3022,\"z\":76.3528},\"rot\":{\"x\":0.0208,\"y\":270.0235,\"z\":0.0168}},\"24ebf7\":{\"lock\":false,\"pos\":{\"x\":45.98,\"y\":1.3049,\"z\":90.1528},\"rot\":{\"x\":0.0208,\"y\":269.9692,\"z\":0.0168}},\"289dcb\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3029,\"z\":74.0413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"2aaa95\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3035,\"z\":76.3413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"35fa26\":{\"lock\":false,\"pos\":{\"x\":40.9603,\"y\":1.3018,\"z\":85.5488},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"3e8f18\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3069,\"z\":87.8413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"43d9b3\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3062,\"z\":85.5412},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"450971\":{\"lock\":false,\"pos\":{\"x\":49.5625,\"y\":1.2995,\"z\":67.1528},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"4bf11c\":{\"lock\":false,\"pos\":{\"x\":40.9602,\"y\":1.2977,\"z\":71.7487},\"rot\":{\"x\":0.0208,\"y\":269.9998,\"z\":0.0168}},\"4f3c6c\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3036,\"z\":80.9528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"57acdc\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3049,\"z\":85.5528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"655321\":{\"lock\":false,\"pos\":{\"x\":40.9602,\"y\":1.3024,\"z\":87.8488},\"rot\":{\"x\":0.0208,\"y\":269.9823,\"z\":0.0168}},\"6724b6\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3062,\"z\":90.1528},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"73aa68\":{\"lock\":false,\"pos\":{\"x\":40.9603,\"y\":1.3011,\"z\":83.2487},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"73bf72\":{\"lock\":false,\"pos\":{\"x\":45.9795,\"y\":1.3029,\"z\":83.2529},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"774533\":{\"lock\":false,\"pos\":{\"x\":40.9602,\"y\":1.3031,\"z\":90.1488},\"rot\":{\"x\":0.0208,\"y\":269.9823,\"z\":0.0168}},\"776d45\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3015,\"z\":69.4413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"7b7c48\":{\"lock\":false,\"pos\":{\"x\":45.9795,\"y\":1.3036,\"z\":85.5528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"7e4fd8\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3008,\"z\":67.1412},\"rot\":{\"x\":0.0208,\"y\":269.9994,\"z\":0.0168}},\"822ea2\":{\"lock\":false,\"pos\":{\"x\":49.5628,\"y\":1.3069,\"z\":92.4528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"84f3bc\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3009,\"z\":71.7528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"91b291\":{\"lock\":false,\"pos\":{\"x\":49.5628,\"y\":1.3015,\"z\":74.0528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"94d7d7\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3049,\"z\":80.9413},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"99b2e7\":{\"lock\":false,\"pos\":{\"x\":40.9603,\"y\":1.2998,\"z\":78.6487},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"9ad531\":{\"lock\":false,\"pos\":{\"x\":40.9611,\"y\":1.3038,\"z\":92.4497},\"rot\":{\"x\":0.0208,\"y\":270.0154,\"z\":0.0168}},\"9f5e6e\":{\"lock\":false,\"pos\":{\"x\":40.9602,\"y\":1.2984,\"z\":74.0487},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"9ff2b3\":{\"lock\":false,\"pos\":{\"x\":49.5628,\"y\":1.3002,\"z\":69.4528},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"a0038c\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3002,\"z\":64.8411},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"aaf8ac\":{\"lock\":false,\"pos\":{\"x\":58.3839,\"y\":1.3094,\"z\":90.0904},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":180.0168}},\"af9875\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3056,\"z\":87.8529},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"b6e7d4\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3056,\"z\":83.2413},\"rot\":{\"x\":0.0208,\"y\":269.9997,\"z\":0.0168}},\"c2b022\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.2988,\"z\":64.8527},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"cf0176\":{\"lock\":false,\"pos\":{\"x\":53.2286,\"y\":1.3022,\"z\":71.7413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"d474aa\":{\"lock\":false,\"pos\":{\"x\":45.9795,\"y\":1.3022,\"z\":80.9528},\"rot\":{\"x\":0.0208,\"y\":269.9998,\"z\":0.0168}},\"e20a09\":{\"lock\":false,\"pos\":{\"x\":53.2288,\"y\":1.3076,\"z\":90.1413},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"e5cc63\":{\"lock\":false,\"pos\":{\"x\":40.9603,\"y\":1.2991,\"z\":76.3487},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"ec5825\":{\"lock\":false,\"pos\":{\"x\":45.98,\"y\":1.3056,\"z\":92.4529},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"f44618\":{\"lock\":false,\"pos\":{\"x\":49.5629,\"y\":1.3042,\"z\":83.2528},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"f6916e\":{\"lock\":false,\"pos\":{\"x\":58.3838,\"y\":1.3101,\"z\":92.3904},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"f7b278\":{\"lock\":false,\"pos\":{\"x\":45.9795,\"y\":1.3043,\"z\":87.8529},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"fc411e\":{\"lock\":false,\"pos\":{\"x\":40.9602,\"y\":1.3004,\"z\":80.9487},\"rot\":{\"x\":0.0208,\"y\":269.9717,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "d78bd2", - "Name": "Custom_Model", - "Transform": { - "posX": -17.434, - "posY": 2.826, - "posZ": -101.73, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Strange Aeons Custom Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_strange_aeons.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142947772/120E2BA8DF8C4E2AAC9E059FA046CC3A6229ECDF/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"089a45\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"0d2913\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"1f4db7\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.4902,\"z\":-91.0572},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"23d41e\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.32,\"z\":-47.118},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"29cf64\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9416},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"3465a5\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"3aa40a\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2333},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"3f56a4\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3282,\"z\":-84.8185},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"55c805\":{\"lock\":false,\"pos\":{\"x\":-22.6158,\"y\":1.3305,\"z\":-76.946},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"7634fc\":{\"lock\":false,\"pos\":{\"x\":-22.61,\"y\":1.34,\"z\":-47.12},\"rot\":{\"x\":0.0208,\"y\":269.9998,\"z\":0.0168}},\"8d39b5\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3328,\"z\":-69.0756},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"a57210\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3373,\"z\":-53.4381},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"ff2949\":{\"lock\":false,\"pos\":{\"x\":-22.617,\"y\":1.3351,\"z\":-61.2414},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "b06fd9", - "Name": "Custom_Model", - "Transform": { - "posX": -44.34, - "posY": 1.973, - "posZ": -111.047, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Signature Replacements", - "Description": "By Mint Tea Fan", - "GMNotes": "fancreations/investigators_replacements.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.35294, - "g": 0.34902, - "b": 0.34902 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1754686449895581106/83D855A76FC7568415189A03882317685F6B55EE/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"098d30\":{\"lock\":false,\"pos\":{\"x\":6.9713,\"y\":1.3044,\"z\":-81.9249},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"62d0d7\":{\"lock\":false,\"pos\":{\"x\":6.9713,\"y\":1.3104,\"z\":-61.2247},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"7da10d\":{\"lock\":false,\"pos\":{\"x\":6.9713,\"y\":1.3064,\"z\":-75.0248},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"9ad488\":{\"lock\":false,\"pos\":{\"x\":6.9713,\"y\":1.3084,\"z\":-68.1247},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"a93c12\":{\"lock\":false,\"pos\":{\"x\":17.4327,\"y\":1.3008,\"z\":-54.6873},\"rot\":{\"x\":359.7432,\"y\":269.9996,\"z\":0.0168}},\"c96f3f\":{\"lock\":false,\"pos\":{\"x\":25.599,\"y\":1.4603,\"z\":-35.711},\"rot\":{\"x\":359.9201,\"y\":270.0024,\"z\":0.0169}},\"ec74df\":{\"lock\":false,\"pos\":{\"x\":6.9713,\"y\":1.3124,\"z\":-54.3247},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "2e5eef", - "Name": "Custom_Model", - "Transform": { - "posX": -17.12, - "posY": 3.27, - "posZ": -93.318, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Shadows of Arkham Player Cards", - "Description": "", - "GMNotes": "fancreations/investigators_shadows_of_arkham.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1697282751257289223/D03666A291CC5705A3656865488583FF4AB762B4/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"00ec68\":{\"lock\":false,\"position\":{\"x\":52.9890174865723,\"y\":1.29333806037903,\"z\":-93.6057357788086},\"rotation\":{\"x\":0.0199895389378071,\"y\":269.998107910156,\"z\":0.0199991464614868}},\"0316b8\":{\"lock\":false,\"position\":{\"x\":53.2300033569336,\"y\":1.30450367927551,\"z\":78.6399993896484},\"rotation\":{\"x\":0.0199890565127134,\"y\":269.999969482422,\"z\":0.0199999362230301}},\"037bc1\":{\"lock\":false,\"position\":{\"x\":58.3800010681152,\"y\":1.30066311359406,\"z\":62.4900016784668},\"rotation\":{\"x\":0.0199890714138746,\"y\":270.000061035156,\"z\":0.0200001243501902}},\"046176\":{\"lock\":false,\"position\":{\"x\":58.3800010681152,\"y\":1.31029713153839,\"z\":90.0899963378906},\"rotation\":{\"x\":0.0199889130890369,\"y\":270.000061035156,\"z\":0.0199998635798693}},\"07d486\":{\"lock\":false,\"position\":{\"x\":-19.3082790374756,\"y\":1.30661237239838,\"z\":-84.7379150390625},\"rotation\":{\"x\":0.0199892167001963,\"y\":270,\"z\":0.0199996847659349}},\"084441\":{\"lock\":false,\"position\":{\"x\":49.2799987792969,\"y\":1.30174660682678,\"z\":-65.8099975585938},\"rotation\":{\"x\":0.0199889466166496,\"y\":270.000030517578,\"z\":0.0199998766183853}},\"0b7b88\":{\"lock\":false,\"position\":{\"x\":32.9900016784668,\"y\":1.29445779323578,\"z\":-70.4100036621094},\"rotation\":{\"x\":0.0199888814240694,\"y\":270.000030517578,\"z\":0.0199998747557402}},\"0be9f3\":{\"lock\":false,\"position\":{\"x\":40.2900009155273,\"y\":1.30422675609589,\"z\":-49.7200012207031},\"rotation\":{\"x\":0.0199888404458761,\"y\":270.000030517578,\"z\":0.0199997909367085}},\"0cebea\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29899501800537,\"z\":78.6600036621094},\"rotation\":{\"x\":0.0199889577925205,\"y\":269.999938964844,\"z\":0.0199999120086432}},\"0ffb49\":{\"lock\":false,\"position\":{\"x\":36.620002746582,\"y\":1.29251289367676,\"z\":-79.6100006103516},\"rotation\":{\"x\":0.0199891477823257,\"y\":270,\"z\":0.0199997574090958}},\"180ad1\":{\"lock\":false,\"position\":{\"x\":58.379997253418,\"y\":1.29745161533356,\"z\":53.2899971008301},\"rotation\":{\"x\":0.0199890490621328,\"y\":269.999969482422,\"z\":0.0200000181794167}},\"1cbd7b\":{\"lock\":false,\"position\":{\"x\":49.5600051879883,\"y\":1.30001544952393,\"z\":69.4499969482422},\"rotation\":{\"x\":0.0199890844523907,\"y\":269.999938964844,\"z\":0.0199999641627073}},\"1cd8ab\":{\"lock\":false,\"position\":{\"x\":32.9900016784668,\"y\":1.29124653339386,\"z\":-79.6100006103516},\"rotation\":{\"x\":0.0199889782816172,\"y\":270,\"z\":0.0199996642768383}},\"1cde85\":{\"lock\":false,\"position\":{\"x\":40.9600028991699,\"y\":1.30183231830597,\"z\":83.25},\"rotation\":{\"x\":0.0199889782816172,\"y\":269.999938964844,\"z\":0.0199997965246439}},\"1f2d61\":{\"lock\":false,\"position\":{\"x\":52.9399948120117,\"y\":1.30382287502289,\"z\":-63.5199928283691},\"rotation\":{\"x\":0.0199888907372952,\"y\":269.999969482422,\"z\":0.0199997611343861}},\"20032d\":{\"lock\":false,\"position\":{\"x\":40.9599990844727,\"y\":1.29460656642914,\"z\":62.5499992370605},\"rotation\":{\"x\":0.0199888497591019,\"y\":270,\"z\":0.019999835640192}},\"24ceaa\":{\"lock\":false,\"position\":{\"x\":40.2900009155273,\"y\":1.2953953742981,\"z\":-75.0199966430664},\"rotation\":{\"x\":0.0199888348579407,\"y\":270,\"z\":0.0199998505413532}},\"254e1c\":{\"lock\":false,\"position\":{\"x\":49.560001373291,\"y\":1.30483257770538,\"z\":83.25},\"rotation\":{\"x\":0.0199889410287142,\"y\":270.000030517578,\"z\":0.0200001746416092}},\"27c7a8\":{\"lock\":false,\"position\":{\"x\":52.9400024414063,\"y\":1.30783712863922,\"z\":-52.0199966430664},\"rotation\":{\"x\":0.0199888460338116,\"y\":270,\"z\":0.0199999995529652}},\"27f23d\":{\"lock\":false,\"position\":{\"x\":40.9599761962891,\"y\":1.28978943824768,\"z\":48.7499160766602},\"rotation\":{\"x\":0.0199898928403854,\"y\":269.996948242188,\"z\":0.019998911768198}},\"2802c1\":{\"lock\":false,\"position\":{\"x\":40.2900009155273,\"y\":1.29298686981201,\"z\":-81.9199981689453},\"rotation\":{\"x\":0.0199889708310366,\"y\":270,\"z\":0.0199997909367085}},\"2b4ccd\":{\"lock\":false,\"position\":{\"x\":58.3794555664063,\"y\":1.30306661128998,\"z\":69.3763885498047},\"rotation\":{\"x\":0.019983533769846,\"y\":270.015502929688,\"z\":0.0200053323060274}},\"2c6a8e\":{\"lock\":false,\"position\":{\"x\":33.8600006103516,\"y\":1.29212963581085,\"z\":62.5499992370605},\"rotation\":{\"x\":0.0199890900403261,\"y\":270,\"z\":0.0199998486787081}},\"2d49cf\":{\"lock\":false,\"position\":{\"x\":53.2300033569336,\"y\":1.30370080471039,\"z\":76.3399963378906},\"rotation\":{\"x\":0.0199890248477459,\"y\":269.999938964844,\"z\":0.0199999548494816}},\"2f5e39\":{\"lock\":false,\"position\":{\"x\":40.2899971008301,\"y\":1.29619824886322,\"z\":-72.7200088500977},\"rotation\":{\"x\":0.0199888180941343,\"y\":270,\"z\":0.0199999939650297}},\"3282d4\":{\"lock\":false,\"position\":{\"x\":36.620002746582,\"y\":1.29492139816284,\"z\":-72.7099990844727},\"rotation\":{\"x\":0.0199890546500683,\"y\":270,\"z\":0.0199999008327723}},\"361151\":{\"lock\":false,\"position\":{\"x\":-19.2999992370605,\"y\":1.3175402879715,\"z\":-53.439998626709},\"rotation\":{\"x\":0.019978741183877,\"y\":270.030609130859,\"z\":0.0200103744864464}},\"377f65\":{\"lock\":false,\"position\":{\"x\":25.5706024169922,\"y\":1.29965567588806,\"z\":92.3952865600586},\"rotation\":{\"x\":0.0199942197650671,\"y\":269.984924316406,\"z\":0.0199946351349354}},\"384dfa\":{\"lock\":false,\"position\":{\"x\":58.3800048828125,\"y\":1.31110000610352,\"z\":92.3899993896484},\"rotation\":{\"x\":0.0199889671057463,\"y\":269.999938964844,\"z\":0.0199998449534178}},\"3ae6c4\":{\"lock\":false,\"position\":{\"x\":40.9599990844727,\"y\":1.29380369186401,\"z\":60.25},\"rotation\":{\"x\":0.0199888423085213,\"y\":270,\"z\":0.0199998654425144}},\"3b983b\":{\"lock\":false,\"position\":{\"x\":-19.2918758392334,\"y\":1.31209874153137,\"z\":-69.0368881225586},\"rotation\":{\"x\":0.0199905168265104,\"y\":269.996307373047,\"z\":0.019998399540782}},\"427789\":{\"lock\":false,\"position\":{\"x\":-22.6200008392334,\"y\":1.31092262268066,\"z\":-69.0800018310547},\"rotation\":{\"x\":0.0199892036616802,\"y\":269.999877929688,\"z\":0.0199997294694185}},\"463ad7\":{\"lock\":false,\"position\":{\"x\":49.2799949645996,\"y\":1.30495798587799,\"z\":-56.6100044250488},\"rotation\":{\"x\":0.0199889857321978,\"y\":270,\"z\":0.0199998263269663}},\"4a3cb4\":{\"lock\":false,\"position\":{\"x\":53.2300033569336,\"y\":1.30851793289185,\"z\":90.1399993896484},\"rotation\":{\"x\":0.0199890285730362,\"y\":269.999938964844,\"z\":0.0199999492615461}},\"4a92af\":{\"lock\":false,\"position\":{\"x\":40.9599990844727,\"y\":1.29300093650818,\"z\":57.9500007629395},\"rotation\":{\"x\":0.0199889596551657,\"y\":270,\"z\":0.0199998430907726}},\"4b4086\":{\"lock\":false,\"position\":{\"x\":58.3254814147949,\"y\":1.51360487937927,\"z\":42.2086868286133},\"rotation\":{\"x\":9.23278457776178E-06,\"y\":269.997741699219,\"z\":1.04533889100367E-07}},\"4b880b\":{\"lock\":false,\"position\":{\"x\":52.9400024414063,\"y\":1.30302000045776,\"z\":-65.8199996948242},\"rotation\":{\"x\":0.0199885722249746,\"y\":270.000793457031,\"z\":0.0200000759214163}},\"4b9cb9\":{\"lock\":false,\"position\":{\"x\":41.0037727355957,\"y\":1.28888833522797,\"z\":46.1245384216309},\"rotation\":{\"x\":0.019988689571619,\"y\":270.000671386719,\"z\":0.0200000945478678}},\"4d49f7\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29176950454712,\"z\":57.9599990844727},\"rotation\":{\"x\":0.0199888795614243,\"y\":270,\"z\":0.0200000703334808}},\"50cc1a\":{\"lock\":false,\"position\":{\"x\":32.9899978637695,\"y\":1.28883790969849,\"z\":-86.510009765625},\"rotation\":{\"x\":0.0199888162314892,\"y\":270.000030517578,\"z\":0.0200000032782555}},\"51d058\":{\"lock\":false,\"position\":{\"x\":-22.6099987030029,\"y\":1.31638550758362,\"z\":-53.4399948120117},\"rotation\":{\"x\":0.0199892148375511,\"y\":269.999877929688,\"z\":0.0199998188763857}},\"51e6f7\":{\"lock\":false,\"position\":{\"x\":36.598518371582,\"y\":1.2876660823822,\"z\":-93.4732894897461},\"rotation\":{\"x\":0.0199889671057463,\"y\":269.999938964844,\"z\":0.0200000815093517}},\"54a1c3\":{\"lock\":false,\"position\":{\"x\":40.2900009155273,\"y\":1.30502963066101,\"z\":-47.4199981689453},\"rotation\":{\"x\":0.0199889913201332,\"y\":270.000030517578,\"z\":0.0199998654425144}},\"55f7ad\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.30864000320435,\"z\":-49.7200012207031},\"rotation\":{\"x\":0.019989000633359,\"y\":270,\"z\":0.0199998654425144}},\"56a480\":{\"lock\":false,\"position\":{\"x\":40.2899971008301,\"y\":1.29700112342834,\"z\":-70.4200057983398},\"rotation\":{\"x\":0.0199890546500683,\"y\":270,\"z\":0.0199998579919338}},\"58391c\":{\"lock\":false,\"position\":{\"x\":58.0999984741211,\"y\":1.31122553348541,\"z\":-47.4700012207031},\"rotation\":{\"x\":0.0199897903949022,\"y\":269.9970703125,\"z\":0.0199989173561335}},\"5a45af\":{\"lock\":false,\"position\":{\"x\":58.0999984741211,\"y\":1.29918277263641,\"z\":-81.9700012207031},\"rotation\":{\"x\":0.0199890248477459,\"y\":270.000030517578,\"z\":0.0199997220188379}},\"5b57aa\":{\"lock\":false,\"position\":{\"x\":40.9600028991699,\"y\":1.29862082004547,\"z\":74.0500030517578},\"rotation\":{\"x\":0.0199890341609716,\"y\":269.999938964844,\"z\":0.0199998673051596}},\"608e80\":{\"lock\":false,\"position\":{\"x\":58.1001319885254,\"y\":1.30801498889923,\"z\":-56.6675224304199},\"rotation\":{\"x\":0.0199854355305433,\"y\":270.01025390625,\"z\":0.020003417506814}},\"60cad6\":{\"lock\":false,\"position\":{\"x\":58.370002746582,\"y\":1.29582846164703,\"z\":48.6500015258789},\"rotation\":{\"x\":0.0199897009879351,\"y\":269.997650146484,\"z\":0.0199992582201958}},\"6199c4\":{\"lock\":false,\"position\":{\"x\":40.2899971008301,\"y\":1.29940962791443,\"z\":-63.52001953125},\"rotation\":{\"x\":0.019988814368844,\"y\":270,\"z\":0.019999897107482}},\"6296e1\":{\"lock\":false,\"position\":{\"x\":36.6099967956543,\"y\":1.28930139541626,\"z\":-88.8000106811523},\"rotation\":{\"x\":0.0199889745563269,\"y\":270.000061035156,\"z\":0.019999697804451}},\"64e584\":{\"lock\":false,\"position\":{\"x\":45.9799957275391,\"y\":1.30358362197876,\"z\":83.2499923706055},\"rotation\":{\"x\":0.0199889298528433,\"y\":270.000061035156,\"z\":0.0199998896569014}},\"69243f\":{\"lock\":false,\"position\":{\"x\":-22.6200008392334,\"y\":1.30542838573456,\"z\":-84.8199996948242},\"rotation\":{\"x\":0.0199893899261951,\"y\":269.999877929688,\"z\":0.0199998654425144}},\"695e58\":{\"lock\":false,\"position\":{\"x\":36.6199951171875,\"y\":1.29732990264893,\"z\":-65.8100051879883},\"rotation\":{\"x\":0.0199890527874231,\"y\":270,\"z\":0.0199998524039984}},\"6b88b1\":{\"lock\":false,\"position\":{\"x\":49.2800025939941,\"y\":1.30736660957336,\"z\":-49.7099952697754},\"rotation\":{\"x\":0.0199889950454235,\"y\":269.999938964844,\"z\":0.0199998300522566}},\"6ca16c\":{\"lock\":false,\"position\":{\"x\":49.560001373291,\"y\":1.30563545227051,\"z\":85.5500030517578},\"rotation\":{\"x\":0.0199889410287142,\"y\":270,\"z\":0.0199998021125793}},\"6d003a\":{\"lock\":false,\"position\":{\"x\":-22.6199989318848,\"y\":1.31365931034088,\"z\":-61.2399978637695},\"rotation\":{\"x\":0.0199891235679388,\"y\":269.999877929688,\"z\":0.0199997890740633}},\"6e58a2\":{\"lock\":false,\"position\":{\"x\":45.9800033569336,\"y\":1.30438649654388,\"z\":85.5500030517578},\"rotation\":{\"x\":0.0199888721108437,\"y\":269.999938964844,\"z\":0.0200000405311584}},\"6fc778\":{\"lock\":false,\"position\":{\"x\":36.6199989318848,\"y\":1.29171001911163,\"z\":-81.9100036621094},\"rotation\":{\"x\":0.0199888665229082,\"y\":270.000030517578,\"z\":0.0199997052550316}},\"6fd7e8\":{\"lock\":false,\"position\":{\"x\":58.0999946594238,\"y\":1.30319702625275,\"z\":-70.4700088500977},\"rotation\":{\"x\":0.0199889298528433,\"y\":270,\"z\":0.0199999194592237}},\"6fe6b0\":{\"lock\":false,\"position\":{\"x\":40.2899971008301,\"y\":1.29138112068176,\"z\":-86.5200042724609},\"rotation\":{\"x\":0.0199888497591019,\"y\":270,\"z\":0.0200000405311584}},\"70e3b0\":{\"lock\":false,\"position\":{\"x\":53.2299995422363,\"y\":1.30691230297089,\"z\":85.5400009155273},\"rotation\":{\"x\":0.0199889615178108,\"y\":269.999969482422,\"z\":0.0199999772012234}},\"7114ca\":{\"lock\":false,\"position\":{\"x\":36.6199951171875,\"y\":1.30054140090942,\"z\":-56.6100044250488},\"rotation\":{\"x\":0.0199888497591019,\"y\":270,\"z\":0.0199999287724495}},\"7141a7\":{\"lock\":false,\"position\":{\"x\":40.9600028991699,\"y\":1.2994236946106,\"z\":76.3499984741211},\"rotation\":{\"x\":0.019988851621747,\"y\":270,\"z\":0.0199999567121267}},\"756f99\":{\"lock\":false,\"position\":{\"x\":49.560001373291,\"y\":1.30322682857513,\"z\":78.6500015258789},\"rotation\":{\"x\":0.019988976418972,\"y\":270,\"z\":0.0200000368058681}},\"75b89c\":{\"lock\":false,\"position\":{\"x\":49.2800025939941,\"y\":1.30816948413849,\"z\":-47.4099960327148},\"rotation\":{\"x\":0.0199861433357,\"y\":270.007598876953,\"z\":0.020002568140626}},\"76f23d\":{\"lock\":false,\"position\":{\"x\":53.2299995422363,\"y\":1.30048942565918,\"z\":67.1399993896484},\"rotation\":{\"x\":0.0199889130890369,\"y\":270,\"z\":0.0200000330805779}},\"770882\":{\"lock\":false,\"position\":{\"x\":40.2899971008301,\"y\":1.2986067533493,\"z\":-65.8200225830078},\"rotation\":{\"x\":0.0199889186769724,\"y\":270,\"z\":0.0199999790638685}},\"773624\":{\"lock\":false,\"position\":{\"x\":53.2300109863281,\"y\":1.30289804935455,\"z\":74.0402526855469},\"rotation\":{\"x\":0.019988315179944,\"y\":270.001586914063,\"z\":0.0200003776699305}},\"778a96\":{\"lock\":false,\"position\":{\"x\":40.9598579406738,\"y\":1.30424046516418,\"z\":90.1491775512695},\"rotation\":{\"x\":0.019989512860775,\"y\":269.999938964844,\"z\":0.02000049687922}},\"779fd0\":{\"lock\":false,\"position\":{\"x\":37.4200019836426,\"y\":1.30381226539612,\"z\":92.4599990844727},\"rotation\":{\"x\":0.0199889428913593,\"y\":269.999877929688,\"z\":0.0199997518211603}},\"77b826\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29257225990295,\"z\":60.2599983215332},\"rotation\":{\"x\":0.0199889149516821,\"y\":270,\"z\":0.0200002063065767}},\"7a2e26\":{\"lock\":false,\"position\":{\"x\":49.2799987792969,\"y\":1.30254948139191,\"z\":-63.5099983215332},\"rotation\":{\"x\":0.019988851621747,\"y\":270.000732421875,\"z\":0.020000271499157}},\"7c7931\":{\"lock\":false,\"position\":{\"x\":-25.8119049072266,\"y\":1.30920231342316,\"z\":-70.8182373046875},\"rotation\":{\"x\":0.0199853219091892,\"y\":270.0107421875,\"z\":0.0200036633759737}},\"7ff457\":{\"lock\":false,\"position\":{\"x\":-25.8259696960449,\"y\":1.33209419250488,\"z\":-67.5839462280273},\"rotation\":{\"x\":0.0199849028140306,\"y\":270.011932373047,\"z\":0.0200038161128759}},\"81a6e1\":{\"lock\":false,\"position\":{\"x\":-25.863733291626,\"y\":1.30753016471863,\"z\":-75.5568389892578},\"rotation\":{\"x\":0.0199889112263918,\"y\":269.999694824219,\"z\":0.0199999287724495}},\"847b3d\":{\"lock\":false,\"position\":{\"x\":40.2900009155273,\"y\":1.29378974437714,\"z\":-79.620002746582},\"rotation\":{\"x\":0.0199889149516821,\"y\":270,\"z\":0.0199999324977398}},\"84f5d6\":{\"lock\":false,\"position\":{\"x\":36.6199951171875,\"y\":1.29010426998138,\"z\":-86.510009765625},\"rotation\":{\"x\":0.0199888981878757,\"y\":270,\"z\":0.0199999623000622}},\"860f3c\":{\"lock\":false,\"position\":{\"x\":-26.045352935791,\"y\":1.30354130268097,\"z\":-86.8024368286133},\"rotation\":{\"x\":0.0199937485158443,\"y\":269.986572265625,\"z\":0.0199953615665436}},\"89dd2b\":{\"lock\":false,\"position\":{\"x\":58.3900032043457,\"y\":1.2990608215332,\"z\":57.8900032043457},\"rotation\":{\"x\":0.0199890565127134,\"y\":270,\"z\":0.0200000386685133}},\"8b681a\":{\"lock\":false,\"position\":{\"x\":5.53419923782349,\"y\":1.33791208267212,\"z\":72.7426147460938},\"rotation\":{\"x\":359.980010986328,\"y\":89.992546081543,\"z\":359.980010986328}},\"8b9844\":{\"lock\":false,\"position\":{\"x\":25.5706005096436,\"y\":1.29885721206665,\"z\":90.1077499389648},\"rotation\":{\"x\":0.0199910085648298,\"y\":269.994018554688,\"z\":0.0199977327138186}},\"8c7658\":{\"lock\":false,\"position\":{\"x\":49.2641258239746,\"y\":1.29203510284424,\"z\":-93.61572265625},\"rotation\":{\"x\":0.019987940788269,\"y\":270.002502441406,\"z\":0.0200008489191532}},\"8cdefb\":{\"lock\":false,\"position\":{\"x\":33.8418960571289,\"y\":1.29453921318054,\"z\":69.4711685180664},\"rotation\":{\"x\":0.0199848040938377,\"y\":270.011749267578,\"z\":0.0200043004006147}},\"8d8e9d\":{\"lock\":false,\"position\":{\"x\":49.6114349365234,\"y\":1.30248034000397,\"z\":76.4601821899414},\"rotation\":{\"x\":0.0199729725718498,\"y\":270.045928955078,\"z\":0.0200158730149269}},\"8e2e9c\":{\"lock\":false,\"position\":{\"x\":52.9399948120117,\"y\":1.29579436779022,\"z\":-86.5200042724609},\"rotation\":{\"x\":0.0199889522045851,\"y\":270.000061035156,\"z\":0.0199999958276749}},\"9040da\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29498076438904,\"z\":67.1600036621094},\"rotation\":{\"x\":0.01998888887465,\"y\":270,\"z\":0.0199998095631599}},\"92173a\":{\"lock\":false,\"position\":{\"x\":40.2900047302246,\"y\":1.30342388153076,\"z\":-52.0199966430664},\"rotation\":{\"x\":0.0199889540672302,\"y\":270,\"z\":0.0199998710304499}},\"95cac6\":{\"lock\":false,\"position\":{\"x\":49.2799949645996,\"y\":1.30014097690582,\"z\":-70.4100112915039},\"rotation\":{\"x\":0.0199887398630381,\"y\":270,\"z\":0.0199999324977398}},\"96217c\":{\"lock\":false,\"position\":{\"x\":-25.9478569030762,\"y\":1.31202936172485,\"z\":-62.5836143493652},\"rotation\":{\"x\":0.019984308630228,\"y\":270.013763427734,\"z\":0.0200045593082905}},\"96cbfb\":{\"lock\":false,\"position\":{\"x\":58.0999984741211,\"y\":1.29998564720154,\"z\":-79.6699981689453},\"rotation\":{\"x\":0.0199890434741974,\"y\":270.000030517578,\"z\":0.0199999138712883}},\"9794d9\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.30542850494385,\"z\":-58.9199981689453},\"rotation\":{\"x\":0.0199899319559336,\"y\":269.997253417969,\"z\":0.019998911768198}},\"9ab6ec\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.30061149597168,\"z\":-72.7200012207031},\"rotation\":{\"x\":0.0199889615178108,\"y\":270.000061035156,\"z\":0.0200000870972872}},\"9bd52b\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.30944287776947,\"z\":-47.4199981689453},\"rotation\":{\"x\":0.0199889428913593,\"y\":270.000030517578,\"z\":0.019999835640192}},\"9bfe46\":{\"lock\":false,\"position\":{\"x\":53.2099990844727,\"y\":1.29406309127808,\"z\":48.75},\"rotation\":{\"x\":0.0199889931827784,\"y\":270,\"z\":0.0199998896569014}},\"9d1e7f\":{\"lock\":false,\"position\":{\"x\":-19.2818336486816,\"y\":1.3093523979187,\"z\":-76.9148406982422},\"rotation\":{\"x\":0.0199888311326504,\"y\":270.001007080078,\"z\":0.020000284537673}},\"9d7ea2\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.30623137950897,\"z\":-56.6199989318848},\"rotation\":{\"x\":0.019989987835288,\"y\":269.997314453125,\"z\":0.0199990179389715}},\"9d9325\":{\"lock\":false,\"position\":{\"x\":36.6199989318848,\"y\":1.29572427272797,\"z\":-70.4100036621094},\"rotation\":{\"x\":0.0199888944625854,\"y\":270.000061035156,\"z\":0.0200000405311584}},\"9f7f04\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29337513446808,\"z\":62.560001373291},\"rotation\":{\"x\":0.0199891049414873,\"y\":270,\"z\":0.0199999343603849}},\"a01cdf\":{\"lock\":false,\"position\":{\"x\":37.4200019836426,\"y\":1.30140364170074,\"z\":85.5599975585938},\"rotation\":{\"x\":0.0199888423085213,\"y\":269.999969482422,\"z\":0.0199998095631599}},\"a30199\":{\"lock\":false,\"position\":{\"x\":49.560001373291,\"y\":1.30804395675659,\"z\":92.4499969482422},\"rotation\":{\"x\":0.0199890043586493,\"y\":270.000030517578,\"z\":0.0199999455362558}},\"aa6e09\":{\"lock\":false,\"position\":{\"x\":40.9600028991699,\"y\":1.3026350736618,\"z\":85.5500030517578},\"rotation\":{\"x\":0.0199889969080687,\"y\":269.999938964844,\"z\":0.0199998710304499}},\"ab9bbb\":{\"lock\":false,\"position\":{\"x\":40.9599990844727,\"y\":1.29701519012451,\"z\":69.4499969482422},\"rotation\":{\"x\":0.0199888106435537,\"y\":270.000030517578,\"z\":0.0199999678879976}},\"ad03f0\":{\"lock\":false,\"position\":{\"x\":-22.6199989318848,\"y\":1.30817544460297,\"z\":-76.9499969482422},\"rotation\":{\"x\":0.0199892818927765,\"y\":269.999877929688,\"z\":0.019999798387289}},\"ad9546\":{\"lock\":false,\"position\":{\"x\":36.6199951171875,\"y\":1.2997385263443,\"z\":-58.9100036621094},\"rotation\":{\"x\":0.0199887491762638,\"y\":270,\"z\":0.0199999324977398}},\"aee7f5\":{\"lock\":false,\"position\":{\"x\":53.2299995422363,\"y\":1.29888379573822,\"z\":62.5400009155273},\"rotation\":{\"x\":0.0199876055121422,\"y\":270.004028320313,\"z\":0.020001370459795}},\"b02709\":{\"lock\":false,\"position\":{\"x\":7.71186399459839,\"y\":1.27614212036133,\"z\":86.3208999633789},\"rotation\":{\"x\":0.0400094911456108,\"y\":270.001373291016,\"z\":0.0200004633516073}},\"b0eee0\":{\"lock\":false,\"position\":{\"x\":53.2299995422363,\"y\":1.3012923002243,\"z\":69.4400024414063},\"rotation\":{\"x\":0.0199890024960041,\"y\":270,\"z\":0.0200000703334808}},\"b1597a\":{\"lock\":false,\"position\":{\"x\":58.379997253418,\"y\":1.30628287792206,\"z\":78.5899887084961},\"rotation\":{\"x\":0.0199889522045851,\"y\":270,\"z\":0.0199997089803219}},\"b21f05\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.30141425132751,\"z\":-70.4199981689453},\"rotation\":{\"x\":0.0199947394430637,\"y\":269.983703613281,\"z\":0.0199943017214537}},\"b38ed5\":{\"lock\":false,\"position\":{\"x\":36.620002746582,\"y\":1.29411852359772,\"z\":-75.0100021362305},\"rotation\":{\"x\":0.0199889410287142,\"y\":270,\"z\":0.0199998822063208}},\"b66a7d\":{\"lock\":false,\"position\":{\"x\":12.3254795074463,\"y\":1.28831422328949,\"z\":73.1418762207031},\"rotation\":{\"x\":0.0199928712099791,\"y\":270.002166748047,\"z\":0.0200013890862465}},\"bc5495\":{\"lock\":false,\"position\":{\"x\":-25.8703365325928,\"y\":1.31469368934631,\"z\":-55.0283317565918},\"rotation\":{\"x\":0.0199836567044258,\"y\":270.015075683594,\"z\":0.0200051311403513}},\"bd9272\":{\"lock\":false,\"position\":{\"x\":40.2700004577637,\"y\":1.29057478904724,\"z\":-88.8099975585938},\"rotation\":{\"x\":0.0199889149516821,\"y\":270.000030517578,\"z\":0.0199999082833529}},\"bdae2a\":{\"lock\":false,\"position\":{\"x\":53.2300033569336,\"y\":1.30932080745697,\"z\":92.4400024414063},\"rotation\":{\"x\":0.0199889373034239,\"y\":269.999938964844,\"z\":0.0199998822063208}},\"bf10b7\":{\"lock\":false,\"position\":{\"x\":53.2299995422363,\"y\":1.2980809211731,\"z\":60.2400016784668},\"rotation\":{\"x\":0.019997775554657,\"y\":269.974517822266,\"z\":0.019990861415863}},\"c022a5\":{\"lock\":false,\"position\":{\"x\":58.379997253418,\"y\":1.29825448989868,\"z\":55.5899963378906},\"rotation\":{\"x\":0.019989101216197,\"y\":270,\"z\":0.0200001448392868}},\"c61276\":{\"lock\":false,\"position\":{\"x\":40.9599990844727,\"y\":1.29621231555939,\"z\":67.1500015258789},\"rotation\":{\"x\":0.0199887827038765,\"y\":270,\"z\":0.0199998337775469}},\"c68875\":{\"lock\":false,\"position\":{\"x\":58.1000022888184,\"y\":1.30560553073883,\"z\":-63.569995880127},\"rotation\":{\"x\":0.0199887491762638,\"y\":270.000030517578,\"z\":0.0199999455362558}},\"cb8f72\":{\"lock\":false,\"position\":{\"x\":49.5600051879883,\"y\":1.2992125749588,\"z\":67.1500015258789},\"rotation\":{\"x\":0.0199891608208418,\"y\":269.999816894531,\"z\":0.0199998822063208}},\"cdaca2\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29819214344025,\"z\":76.3600006103516},\"rotation\":{\"x\":0.0199891142547131,\"y\":270,\"z\":0.0199999343603849}},\"cddffe\":{\"lock\":false,\"position\":{\"x\":37.4200019836426,\"y\":1.3030092716217,\"z\":90.1600036621094},\"rotation\":{\"x\":0.0199888814240694,\"y\":269.999847412109,\"z\":0.0199998188763857}},\"d4cf15\":{\"lock\":false,\"position\":{\"x\":40.2186698913574,\"y\":1.28893339633942,\"z\":-93.4611511230469},\"rotation\":{\"x\":0.0199874341487885,\"y\":270.004272460938,\"z\":0.0200016312301159}},\"da1495\":{\"lock\":false,\"position\":{\"x\":-26.0381469726563,\"y\":1.32164466381073,\"z\":-83.5166168212891},\"rotation\":{\"x\":0.019985293969512,\"y\":270.01123046875,\"z\":0.0200037676841021}},\"da681d\":{\"lock\":false,\"position\":{\"x\":40.9600067138672,\"y\":1.3268084526062,\"z\":78.6500091552734},\"rotation\":{\"x\":0.0199894458055496,\"y\":269.999694824219,\"z\":0.0199996717274189}},\"dd00d1\":{\"lock\":false,\"position\":{\"x\":37.4199981689453,\"y\":1.29578363895416,\"z\":69.4599990844727},\"rotation\":{\"x\":0.0199887715280056,\"y\":270,\"z\":0.0199999623000622}},\"dd0cc6\":{\"lock\":false,\"position\":{\"x\":49.5600051879883,\"y\":1.30162119865417,\"z\":74.0500030517578},\"rotation\":{\"x\":0.0199889969080687,\"y\":269.999938964844,\"z\":0.0199998840689659}},\"e570e3\":{\"lock\":false,\"position\":{\"x\":-19.2999992370605,\"y\":1.31482100486755,\"z\":-61.2299995422363},\"rotation\":{\"x\":0.0195435732603073,\"y\":271.262908935547,\"z\":0.0204352717846632}},\"e5aac0\":{\"lock\":false,\"position\":{\"x\":53.2299995422363,\"y\":1.30610942840576,\"z\":83.2399978637695},\"rotation\":{\"x\":0.0199887715280056,\"y\":270,\"z\":0.0199999026954174}},\"e68a2a\":{\"lock\":false,\"position\":{\"x\":58.0999984741211,\"y\":1.31042265892029,\"z\":-49.7700004577637},\"rotation\":{\"x\":0.0199888292700052,\"y\":269.999877929688,\"z\":0.0199999064207077}},\"e6b6bf\":{\"lock\":false,\"position\":{\"x\":36.620002746582,\"y\":1.29813289642334,\"z\":-63.5097312927246},\"rotation\":{\"x\":0.0199888367205858,\"y\":270.000549316406,\"z\":0.0200001262128353}},\"e732c3\":{\"lock\":false,\"position\":{\"x\":45.9799995422363,\"y\":1.30197787284851,\"z\":78.6500015258789},\"rotation\":{\"x\":0.019989000633359,\"y\":269.999969482422,\"z\":0.0199998822063208}},\"e7d788\":{\"lock\":false,\"position\":{\"x\":-25.8039722442627,\"y\":1.33271718025208,\"z\":-52.0299491882324},\"rotation\":{\"x\":0.0199853088706732,\"y\":270.011352539063,\"z\":0.0200038943439722}},\"ec1719\":{\"lock\":false,\"position\":{\"x\":40.9599571228027,\"y\":1.30504357814789,\"z\":92.4499053955078},\"rotation\":{\"x\":0.0199895668774843,\"y\":269.997985839844,\"z\":0.0199991296976805}},\"f3cc51\":{\"lock\":false,\"position\":{\"x\":-25.860538482666,\"y\":1.30648255348206,\"z\":-78.5612335205078},\"rotation\":{\"x\":0.0199850853532553,\"y\":270.010681152344,\"z\":0.0200036037713289}},\"f4b556\":{\"lock\":false,\"position\":{\"x\":-25.9067420959473,\"y\":1.34442949295044,\"z\":-59.7475433349609},\"rotation\":{\"x\":0.0199818555265665,\"y\":270.021331787109,\"z\":0.020007137209177}},\"f51b8a\":{\"lock\":false,\"position\":{\"x\":40.2900047302246,\"y\":1.3018182516098,\"z\":-56.6199951171875},\"rotation\":{\"x\":0.019988875836134,\"y\":270,\"z\":0.0200000926852226}},\"f73973\":{\"lock\":false,\"position\":{\"x\":40.2900047302246,\"y\":1.30101537704468,\"z\":-58.919994354248},\"rotation\":{\"x\":0.0199887547641993,\"y\":270.000030517578,\"z\":0.0199999343603849}},\"f7dc68\":{\"lock\":false,\"position\":{\"x\":58.3800048828125,\"y\":1.29986023902893,\"z\":60.1900024414063},\"rotation\":{\"x\":0.0199885349720716,\"y\":270.001037597656,\"z\":0.0200002156198025}},\"fb9ed6\":{\"lock\":false,\"position\":{\"x\":58.0999984741211,\"y\":1.29838001728058,\"z\":-84.2699966430664},\"rotation\":{\"x\":0.01998888887465,\"y\":270.000030517578,\"z\":0.0199998803436756}},\"fbfc81\":{\"lock\":false,\"position\":{\"x\":58.1000022888184,\"y\":1.30961978435516,\"z\":-52.069995880127},\"rotation\":{\"x\":0.0199889782816172,\"y\":269.999969482422,\"z\":0.0199998859316111}},\"fcc08c\":{\"lock\":false,\"position\":{\"x\":52.939998626709,\"y\":1.2982029914856,\"z\":-79.620002746582},\"rotation\":{\"x\":0.0199889056384563,\"y\":270,\"z\":0.0199999623000622}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "b7ff06", - "Name": "Custom_Model", - "Transform": { - "posX": -44.314, - "posY": 1.973, - "posZ": -114.792, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Rabbit Hole Expansion", - "Description": "Mint Tea Fan", - "GMNotes": "fancreations/investigators_rabbit_hole.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1862800022614300553/046FEA88FB8D4DB6BE0AC9898149058EF32BFD0A/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"00dd71\":{\"lock\":false,\"pos\":{\"x\":-26.2173,\"y\":1.3086,\"z\":-72.6577},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"02c883\":{\"lock\":false,\"pos\":{\"x\":32.9852867126465,\"y\":1.29030799865723,\"z\":-84.2082672119141},\"rot\":{\"x\":0.0208085179328918,\"y\":269.999694824219,\"z\":0.0167710538953543}},\"02fc01\":{\"lock\":false,\"pos\":{\"x\":40.2900657653809,\"y\":1.29565036296844,\"z\":-75.0199737548828},\"rot\":{\"x\":0.0208079405128956,\"y\":270.002380371094,\"z\":0.016771974042058}},\"04b54a\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.28963470458984,\"z\":-86.5082473754883},\"rot\":{\"x\":0.0208087041974068,\"y\":269.999176025391,\"z\":0.0167708452790976}},\"099880\":{\"lock\":false,\"pos\":{\"x\":52.9442138671875,\"y\":1.30697846412659,\"z\":-52.020336151123},\"rot\":{\"x\":0.0208041202276945,\"y\":270.0146484375,\"z\":0.0167763698846102}},\"0a5bc6\":{\"lock\":false,\"pos\":{\"x\":32.9852905273438,\"y\":1.30107951164246,\"z\":-47.4095573425293},\"rot\":{\"x\":0.0208172313868999,\"y\":269.969665527344,\"z\":0.0167601872235537}},\"0d6af3\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.29300093650818,\"z\":-75.0083694458008},\"rot\":{\"x\":0.0208143349736929,\"y\":269.979888916016,\"z\":0.0167639516294003}},\"10020b\":{\"lock\":false,\"pos\":{\"x\":40.2900772094727,\"y\":1.30238282680511,\"z\":-52.0199775695801},\"rot\":{\"x\":0.0208036676049232,\"y\":270.016662597656,\"z\":0.0167774055153131}},\"19633b\":{\"lock\":false,\"pos\":{\"x\":58.0997085571289,\"y\":1.29873728752136,\"z\":-86.5708847045898},\"rot\":{\"x\":0.0208085551857948,\"y\":269.999694824219,\"z\":0.0167710352689028}},\"1dae6f\":{\"lock\":false,\"pos\":{\"x\":49.278491973877,\"y\":1.29555189609528,\"z\":-86.5086517333984},\"rot\":{\"x\":0.0208086501806974,\"y\":269.999603271484,\"z\":0.0167709235101938}},\"1f94f7\":{\"lock\":false,\"pos\":{\"x\":52.9442329406738,\"y\":1.30832493305206,\"z\":-47.4203338623047},\"rot\":{\"x\":0.020806897431612,\"y\":270.005187988281,\"z\":0.016773022711277}},\"23c1b4\":{\"lock\":false,\"pos\":{\"x\":-16.8891,\"y\":1.349,\"z\":-70.5804},\"rot\":{\"x\":0.0208,\"y\":269.9834,\"z\":0.0168}},\"267a1b\":{\"lock\":false,\"pos\":{\"x\":52.9442253112793,\"y\":1.30159246921539,\"z\":-70.4201965332031},\"rot\":{\"x\":0.0208076927810907,\"y\":270.002288818359,\"z\":0.0167718902230263}},\"268843\":{\"lock\":false,\"pos\":{\"x\":25.6118,\"y\":1.4599,\"z\":-36.9581},\"rot\":{\"x\":359.9201,\"y\":270.0034,\"z\":0.0169}},\"269ab3\":{\"lock\":false,\"pos\":{\"x\":29.3400764465332,\"y\":1.29369676113129,\"z\":-68.1084594726563},\"rot\":{\"x\":0.020807845517993,\"y\":270.002258300781,\"z\":0.016771798953414}},\"2be496\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.30161106586456,\"z\":-65.8086547851563},\"rot\":{\"x\":0.0208078343421221,\"y\":270.002349853516,\"z\":0.0167720001190901}},\"2cb6e7\":{\"lock\":false,\"pos\":{\"x\":32.969612121582,\"y\":1.28895890712738,\"z\":-88.7976989746094},\"rot\":{\"x\":0.0208085589110851,\"y\":270,\"z\":0.0167711675167084}},\"2f3aba\":{\"lock\":false,\"pos\":{\"x\":32.9852867126465,\"y\":1.2923276424408,\"z\":-77.3083038330078},\"rot\":{\"x\":0.0208077318966389,\"y\":270.002258300781,\"z\":0.0167720075696707}},\"337650\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.29622519016266,\"z\":-84.2086486816406},\"rot\":{\"x\":0.0208088215440512,\"y\":269.999420166016,\"z\":0.0167708713561296}},\"33eb6e\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.30632376670837,\"z\":-49.7088050842285},\"rot\":{\"x\":0.0208075325936079,\"y\":270.003967285156,\"z\":0.0167726073414087}},\"340ad1\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.30699694156647,\"z\":-47.4087791442871},\"rot\":{\"x\":0.020807271823287,\"y\":270.003662109375,\"z\":0.0167726241052151}},\"349045\":{\"lock\":false,\"pos\":{\"x\":29.3400764465332,\"y\":1.29100382328033,\"z\":-77.3084869384766},\"rot\":{\"x\":0.0208077188581228,\"y\":270.00244140625,\"z\":0.0167720038443804}},\"3752df\":{\"lock\":false,\"pos\":{\"x\":52.9442253112793,\"y\":1.29889953136444,\"z\":-79.620231628418},\"rot\":{\"x\":0.0208082459867001,\"y\":270.001159667969,\"z\":0.016771487891674}},\"395a86\":{\"lock\":false,\"pos\":{\"x\":-26.2173,\"y\":1.308,\"z\":-74.9452},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"3d228c\":{\"lock\":false,\"pos\":{\"x\":40.290111541748,\"y\":1.2922842502594,\"z\":-86.519889831543},\"rot\":{\"x\":0.0208086185157299,\"y\":269.999420166016,\"z\":0.0167709197849035}},\"3d5eba\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.29434740543365,\"z\":-70.4082565307617},\"rot\":{\"x\":0.0208110846579075,\"y\":269.991394042969,\"z\":0.0167681761085987}},\"3e7287\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.29502069950104,\"z\":-68.1082534790039},\"rot\":{\"x\":0.020812900736928,\"y\":269.984924316406,\"z\":0.0167657155543566}},\"3f0180\":{\"lock\":false,\"pos\":{\"x\":29.3400592803955,\"y\":1.29908239841461,\"z\":-49.7096290588379},\"rot\":{\"x\":0.0208098068833351,\"y\":269.99609375,\"z\":0.0167696662247181}},\"412cf1\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.30295753479004,\"z\":-61.2087898254395},\"rot\":{\"x\":0.0208124928176403,\"y\":269.986267089844,\"z\":0.0167661942541599}},\"41ee84\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.29297626018524,\"z\":-79.608268737793},\"rot\":{\"x\":0.0208076797425747,\"y\":270.002807617188,\"z\":0.0167722273617983}},\"43ad41\":{\"lock\":false,\"pos\":{\"x\":52.9441375732422,\"y\":1.29755306243896,\"z\":-84.2202224731445},\"rot\":{\"x\":0.0208086110651493,\"y\":269.999877929688,\"z\":0.016771350055933}},\"43c2c3\":{\"lock\":false,\"pos\":{\"x\":52.9442291259766,\"y\":1.30293905735016,\"z\":-65.8201904296875},\"rot\":{\"x\":0.0208077672868967,\"y\":270.00244140625,\"z\":0.0167718306183815}},\"459f81\":{\"lock\":false,\"pos\":{\"x\":45.6394691467285,\"y\":1.29759645462036,\"z\":-75.0087127685547},\"rot\":{\"x\":0.0208079051226377,\"y\":270.002746582031,\"z\":0.0167721528559923}},\"4634ae\":{\"lock\":false,\"pos\":{\"x\":40.2742729187012,\"y\":1.29160833358765,\"z\":-88.8093566894531},\"rot\":{\"x\":0.0208088494837284,\"y\":269.999267578125,\"z\":0.0167710669338703}},\"465927\":{\"lock\":false,\"pos\":{\"x\":49.2785148620605,\"y\":1.30363082885742,\"z\":-58.9087753295898},\"rot\":{\"x\":0.0208077151328325,\"y\":270.002380371094,\"z\":0.0167719814926386}},\"473c08\":{\"lock\":false,\"pos\":{\"x\":52.9442253112793,\"y\":1.29957282543182,\"z\":-77.3202285766602},\"rot\":{\"x\":0.0208078902214766,\"y\":270.002258300781,\"z\":0.0167719908058643}},\"48009b\":{\"lock\":false,\"pos\":{\"x\":45.6394691467285,\"y\":1.29423034191132,\"z\":-86.5085906982422},\"rot\":{\"x\":0.0208089146763086,\"y\":269.999267578125,\"z\":0.0167709197849035}},\"487284\":{\"lock\":false,\"pos\":{\"x\":36.6086502075195,\"y\":1.29028046131134,\"z\":-88.7977523803711},\"rot\":{\"x\":0.0208086613565683,\"y\":269.9990234375,\"z\":0.0167708974331617}},\"4b6428\":{\"lock\":false,\"pos\":{\"x\":58.0996742248535,\"y\":1.30479645729065,\"z\":-65.8708190917969},\"rot\":{\"x\":0.0208076778799295,\"y\":270.002380371094,\"z\":0.0167720541357994}},\"4c0584\":{\"lock\":false,\"pos\":{\"x\":33.201171875,\"y\":1.28776490688324,\"z\":-93.1638031005859},\"rot\":{\"x\":0.0208169016987085,\"y\":269.971801757813,\"z\":0.0167610067874193}},\"4d182c\":{\"lock\":false,\"pos\":{\"x\":58.0995712280273,\"y\":1.29941058158875,\"z\":-84.270866394043},\"rot\":{\"x\":0.0208090059459209,\"y\":269.999145507813,\"z\":0.0167708732187748}},\"4d5596\":{\"lock\":false,\"pos\":{\"x\":58.0996742248535,\"y\":1.3021035194397,\"z\":-75.0709533691406},\"rot\":{\"x\":0.0208080522716045,\"y\":270.001251220703,\"z\":0.0167717095464468}},\"4f1c7e\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.29569387435913,\"z\":-65.8082504272461},\"rot\":{\"x\":0.0208077598363161,\"y\":270.002380371094,\"z\":0.0167720690369606}},\"5cbb02\":{\"lock\":false,\"pos\":{\"x\":58.0996894836426,\"y\":1.3074893951416,\"z\":-56.6709594726563},\"rot\":{\"x\":0.0208077803254128,\"y\":270.002288818359,\"z\":0.016772024333477}},\"5ccbc7\":{\"lock\":false,\"pos\":{\"x\":32.9852867126465,\"y\":1.29771363735199,\"z\":-58.9083366394043},\"rot\":{\"x\":0.0208077672868967,\"y\":270.002349853516,\"z\":0.0167721454054117}},\"5db5fb\":{\"lock\":false,\"pos\":{\"x\":58.099681854248,\"y\":1.31018245220184,\"z\":-47.4709625244141},\"rot\":{\"x\":0.0208116956055164,\"y\":269.989166259766,\"z\":0.0167670231312513}},\"5ff300\":{\"lock\":false,\"pos\":{\"x\":45.6394691467285,\"y\":1.29490351676941,\"z\":-84.2085876464844},\"rot\":{\"x\":0.0208088960498571,\"y\":269.999053955078,\"z\":0.0167708117514849}},\"639ceb\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.29364931583405,\"z\":-77.3083343505859},\"rot\":{\"x\":0.0208080504089594,\"y\":270.001586914063,\"z\":0.0167716555297375}},\"68fe73\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.30093789100647,\"z\":-68.1086578369141},\"rot\":{\"x\":0.0208076797425747,\"y\":270.002410888672,\"z\":0.0167721286416054}},\"6bbf22\":{\"lock\":false,\"pos\":{\"x\":40.2900543212891,\"y\":1.2976701259613,\"z\":-68.1198654174805},\"rot\":{\"x\":0.0208079926669598,\"y\":270.002349853516,\"z\":0.0167719889432192}},\"70235c\":{\"lock\":false,\"pos\":{\"x\":29.3400764465332,\"y\":1.29840910434723,\"z\":-52.0096168518066},\"rot\":{\"x\":0.0208064876496792,\"y\":270.007263183594,\"z\":0.0167736392468214}},\"75f24b\":{\"lock\":false,\"pos\":{\"x\":58.099681854248,\"y\":1.30950915813446,\"z\":-49.7709503173828},\"rot\":{\"x\":0.0208070166409016,\"y\":270.004638671875,\"z\":0.0167729146778584}},\"788f24\":{\"lock\":false,\"pos\":{\"x\":40.2899627685547,\"y\":1.29295754432678,\"z\":-84.2198944091797},\"rot\":{\"x\":0.0208088979125023,\"y\":269.998901367188,\"z\":0.016770713031292}},\"7cb35b\":{\"lock\":false,\"pos\":{\"x\":40.2900505065918,\"y\":1.29430389404297,\"z\":-79.6199035644531},\"rot\":{\"x\":0.0208076313138008,\"y\":270.002807617188,\"z\":0.0167723186314106}},\"7d5da5\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.29432249069214,\"z\":-75.0083999633789},\"rot\":{\"x\":0.0208078008145094,\"y\":270.00244140625,\"z\":0.0167720336467028}},\"7ea4af\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.30040621757507,\"z\":-49.709545135498},\"rot\":{\"x\":0.0208124816417694,\"y\":269.987060546875,\"z\":0.016766419634223}},\"7f2a9e\":{\"lock\":false,\"pos\":{\"x\":32.9852867126465,\"y\":1.29973292350769,\"z\":-52.0095558166504},\"rot\":{\"x\":0.0208073686808348,\"y\":270.004211425781,\"z\":0.0167726278305054}},\"7fd726\":{\"lock\":false,\"pos\":{\"x\":52.9442329406738,\"y\":1.30495870113373,\"z\":-58.9203338623047},\"rot\":{\"x\":0.0208077188581228,\"y\":270.002380371094,\"z\":0.0167720317840576}},\"83824b\":{\"lock\":false,\"pos\":{\"x\":-26.2173,\"y\":1.3093,\"z\":-70.3702},\"rot\":{\"x\":0.0208,\"y\":270.0191,\"z\":0.0168}},\"886a80\":{\"lock\":false,\"pos\":{\"x\":40.2900695800781,\"y\":1.29497718811035,\"z\":-77.3198776245117},\"rot\":{\"x\":0.0208077095448971,\"y\":270.002380371094,\"z\":0.0167721137404442}},\"8b4374\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.2956690788269,\"z\":-70.4082870483398},\"rot\":{\"x\":0.0208064690232277,\"y\":270.007598876953,\"z\":0.0167738925665617}},\"8b8aa1\":{\"lock\":false,\"pos\":{\"x\":29.3400764465332,\"y\":1.2930234670639,\"z\":-70.4084625244141},\"rot\":{\"x\":0.0208078846335411,\"y\":270.002380371094,\"z\":0.0167720504105091}},\"911810\":{\"lock\":false,\"pos\":{\"x\":52.9284477233887,\"y\":1.29620397090912,\"z\":-88.809684753418},\"rot\":{\"x\":0.0208090245723724,\"y\":269.998962402344,\"z\":0.0167707987129688}},\"97fcaf\":{\"lock\":false,\"pos\":{\"x\":40.2900695800781,\"y\":1.29699695110321,\"z\":-70.4198455810547},\"rot\":{\"x\":0.0208094101399183,\"y\":269.996856689453,\"z\":0.0167702175676823}},\"98fdce\":{\"lock\":false,\"pos\":{\"x\":40.2901344299316,\"y\":1.30373060703278,\"z\":-47.415901184082},\"rot\":{\"x\":0.0208132360130548,\"y\":269.983825683594,\"z\":0.0167652443051338}},\"9c599b\":{\"lock\":false,\"pos\":{\"x\":29.6464405059814,\"y\":1.28647398948669,\"z\":-93.163818359375},\"rot\":{\"x\":0.0208141412585974,\"y\":269.98095703125,\"z\":0.0167641583830118}},\"9d3cb8\":{\"lock\":false,\"pos\":{\"x\":40.2900276184082,\"y\":1.30305814743042,\"z\":-49.7128028869629},\"rot\":{\"x\":0.020798534154892,\"y\":270.034362792969,\"z\":0.0167835876345634}},\"9d50cf\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.296342253685,\"z\":-68.108283996582},\"rot\":{\"x\":0.0208082608878613,\"y\":270.000854492188,\"z\":0.0167714674025774}},\"9f71b2\":{\"lock\":false,\"pos\":{\"x\":49.2785148620605,\"y\":1.30565047264099,\"z\":-52.0087585449219},\"rot\":{\"x\":0.020803464576602,\"y\":270.017059326172,\"z\":0.016777329146862}},\"9facb8\":{\"lock\":false,\"pos\":{\"x\":49.2785148620605,\"y\":1.29757165908813,\"z\":-79.6086196899414},\"rot\":{\"x\":0.0208079144358635,\"y\":270.00244140625,\"z\":0.0167720317840576}},\"9feaf2\":{\"lock\":false,\"pos\":{\"x\":29.3400802612305,\"y\":1.29975557327271,\"z\":-47.4096183776855},\"rot\":{\"x\":0.0208071246743202,\"y\":270.004577636719,\"z\":0.0167729370296001}},\"a06986\":{\"lock\":false,\"pos\":{\"x\":-16.8891,\"y\":1.3493,\"z\":-69.5747},\"rot\":{\"x\":0.0208,\"y\":269.989,\"z\":0.0168}},\"a46c2b\":{\"lock\":false,\"pos\":{\"x\":29.3400764465332,\"y\":1.29706299304962,\"z\":-56.6083946228027},\"rot\":{\"x\":0.0208078809082508,\"y\":270.002349853516,\"z\":0.0167719107121229}},\"a6306e\":{\"lock\":false,\"pos\":{\"x\":49.2785148620605,\"y\":1.30430400371552,\"z\":-56.608772277832},\"rot\":{\"x\":0.0208077989518642,\"y\":270.002380371094,\"z\":0.0167720001190901}},\"a8db40\":{\"lock\":false,\"pos\":{\"x\":45.6394691467285,\"y\":1.30298244953156,\"z\":-56.6086692810059},\"rot\":{\"x\":0.0208078250288963,\"y\":270.002349853516,\"z\":0.0167721584439278}},\"a9a0c8\":{\"lock\":false,\"pos\":{\"x\":49.2628059387207,\"y\":1.29487609863281,\"z\":-88.7981033325195},\"rot\":{\"x\":0.0208089780062437,\"y\":269.998779296875,\"z\":0.0167707093060017}},\"ad0691\":{\"lock\":false,\"pos\":{\"x\":40.2900619506836,\"y\":1.30103635787964,\"z\":-56.6199951171875},\"rot\":{\"x\":0.0208078436553478,\"y\":270.002380371094,\"z\":0.0167722105979919}},\"ad7249\":{\"lock\":false,\"pos\":{\"x\":-26.2173,\"y\":1.31,\"z\":-68.0826},\"rot\":{\"x\":0.0208,\"y\":269.9904,\"z\":0.0168}},\"ad95fd\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.3017281293869,\"z\":-49.7084465026855},\"rot\":{\"x\":0.0208177231252193,\"y\":269.96923828125,\"z\":0.0167600549757481}},\"b06863\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":269.9965,\"z\":0.0168}},\"b0dd94\":{\"lock\":false,\"pos\":{\"x\":40.2900695800781,\"y\":1.29968988895416,\"z\":-61.2199897766113},\"rot\":{\"x\":0.0208128429949284,\"y\":269.986083984375,\"z\":0.0167661905288696}},\"b221a7\":{\"lock\":false,\"pos\":{\"x\":29.3400592803955,\"y\":1.29436993598938,\"z\":-65.808479309082},\"rot\":{\"x\":0.0208077821880579,\"y\":270.002380371094,\"z\":0.0167720317840576}},\"b3d984\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.30105495452881,\"z\":-52.0084228515625},\"rot\":{\"x\":0.0208045300096273,\"y\":270.013397216797,\"z\":0.0167760979384184}},\"b47adf\":{\"lock\":false,\"pos\":{\"x\":58.0996742248535,\"y\":1.30412328243256,\"z\":-68.1708221435547},\"rot\":{\"x\":0.0208166688680649,\"y\":269.972290039063,\"z\":0.0167610011994839}},\"b826dd\":{\"lock\":false,\"pos\":{\"x\":49.2785148620605,\"y\":1.30026459693909,\"z\":-70.4086456298828},\"rot\":{\"x\":0.020807733759284,\"y\":270.002532958984,\"z\":0.0167719628661871}},\"bae0d4\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.29701554775238,\"z\":-65.8082809448242},\"rot\":{\"x\":0.020808219909668,\"y\":270.000854492188,\"z\":0.0167713537812233}},\"bb7677\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0208,\"y\":270.0023,\"z\":0.0168}},\"bf9817\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.29903519153595,\"z\":-58.9084396362305},\"rot\":{\"x\":0.0208145510405302,\"y\":269.979431152344,\"z\":0.0167637746781111}},\"c24c0f\":{\"lock\":false,\"pos\":{\"x\":26.107120513916,\"y\":1.28520059585571,\"z\":-93.1228866577148},\"rot\":{\"x\":0.020803477615118,\"y\":270.016937255859,\"z\":0.0167773775756359}},\"c27ee4\":{\"lock\":false,\"pos\":{\"x\":52.9442367553711,\"y\":1.30563199520111,\"z\":-56.6203308105469},\"rot\":{\"x\":0.0208133868873119,\"y\":269.9833984375,\"z\":0.0167651195079088}},\"c6629b\":{\"lock\":false,\"pos\":{\"x\":52.944221496582,\"y\":1.30024600028992,\"z\":-75.0203247070313},\"rot\":{\"x\":0.0208077225834131,\"y\":270.002410888672,\"z\":0.0167720802128315}},\"c9bc29\":{\"lock\":false,\"pos\":{\"x\":-16.8891,\"y\":1.3496,\"z\":-68.5691},\"rot\":{\"x\":0.0208,\"y\":270.0074,\"z\":0.0168}},\"cc9f3e\":{\"lock\":false,\"pos\":{\"x\":52.944206237793,\"y\":1.30428540706635,\"z\":-61.2203483581543},\"rot\":{\"x\":0.0208137333393097,\"y\":269.982269287109,\"z\":0.0167646743357182}},\"ccd2d7\":{\"lock\":false,\"pos\":{\"x\":29.3400802612305,\"y\":1.29638969898224,\"z\":-58.9083938598633},\"rot\":{\"x\":0.0208111088722944,\"y\":269.991333007813,\"z\":0.0167681202292442}},\"d5060d\":{\"lock\":false,\"pos\":{\"x\":32.9852867126465,\"y\":1.2916544675827,\"z\":-79.6082611083984},\"rot\":{\"x\":0.0208071451634169,\"y\":270.004455566406,\"z\":0.016772773116827}},\"d5a551\":{\"lock\":false,\"pos\":{\"x\":58.0996742248535,\"y\":1.3014303445816,\"z\":-77.3708572387695},\"rot\":{\"x\":0.0208079069852829,\"y\":270.002288818359,\"z\":0.0167720541357994}},\"d7edae\":{\"lock\":false,\"pos\":{\"x\":41.3516998291016,\"y\":1.43921434879303,\"z\":-32.6269416809082},\"rot\":{\"x\":359.920135498047,\"y\":270.003204345703,\"z\":0.0168775394558907}},\"d92dde\":{\"lock\":false,\"pos\":{\"x\":40.2900581359863,\"y\":1.30036306381226,\"z\":-58.9199981689453},\"rot\":{\"x\":0.0208116788417101,\"y\":269.988830566406,\"z\":0.0167670734226704}},\"dc8ab9\":{\"lock\":false,\"pos\":{\"x\":29.3400592803955,\"y\":1.29167699813843,\"z\":-75.0085983276367},\"rot\":{\"x\":0.0208077263087034,\"y\":270.002380371094,\"z\":0.0167721174657345}},\"dd5a8d\":{\"lock\":false,\"pos\":{\"x\":29.3400764465332,\"y\":1.29571652412415,\"z\":-61.2084007263184},\"rot\":{\"x\":0.0208144672214985,\"y\":269.979370117188,\"z\":0.0167636964470148}},\"e10da6\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.29095637798309,\"z\":-86.50830078125},\"rot\":{\"x\":0.0208088885992765,\"y\":269.998687744141,\"z\":0.016770800575614}},\"e338d7\":{\"lock\":false,\"pos\":{\"x\":-26.2173,\"y\":1.3113,\"z\":-63.5077},\"rot\":{\"x\":0.0208,\"y\":270.0022,\"z\":0.0168}},\"e4fc98\":{\"lock\":false,\"pos\":{\"x\":32.9853057861328,\"y\":1.29704034328461,\"z\":-61.2083282470703},\"rot\":{\"x\":0.0208131168037653,\"y\":269.984497070313,\"z\":0.016765546053648}},\"e5bd5d\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.29891812801361,\"z\":-75.0087738037109},\"rot\":{\"x\":0.0208078045397997,\"y\":270.002319335938,\"z\":0.0167719461023808}},\"e618ab\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.29162955284119,\"z\":-84.2082977294922},\"rot\":{\"x\":0.0208089463412762,\"y\":269.998657226563,\"z\":0.0167708601802588}},\"e7c879\":{\"lock\":false,\"pos\":{\"x\":49.2784957885742,\"y\":1.29824483394623,\"z\":-77.3086853027344},\"rot\":{\"x\":0.0208076257258654,\"y\":270.00244140625,\"z\":0.0167721770703793}},\"e910b0\":{\"lock\":false,\"pos\":{\"x\":-16.8891,\"y\":1.3499,\"z\":-67.5635},\"rot\":{\"x\":0.0208,\"y\":269.9978,\"z\":0.0168}},\"e969d6\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.29836189746857,\"z\":-61.2084426879883},\"rot\":{\"x\":0.0208120793104172,\"y\":269.987731933594,\"z\":0.0167666524648666}},\"ebc809\":{\"lock\":false,\"pos\":{\"x\":-26.2173,\"y\":1.3106,\"z\":-65.7951},\"rot\":{\"x\":0.0208,\"y\":269.9984,\"z\":0.0168}},\"ed565f\":{\"lock\":false,\"pos\":{\"x\":52.9442481994629,\"y\":1.29687976837158,\"z\":-86.520263671875},\"rot\":{\"x\":0.0208090785890818,\"y\":269.998687744141,\"z\":0.0167706850916147}},\"ef4d67\":{\"lock\":false,\"pos\":{\"x\":32.9852867126465,\"y\":1.29838681221008,\"z\":-56.6083335876465},\"rot\":{\"x\":0.0208145845681429,\"y\":269.979370117188,\"z\":0.0167634636163712}},\"f328e1\":{\"lock\":false,\"pos\":{\"x\":52.9442367553711,\"y\":1.30765187740326,\"z\":-49.7196083068848},\"rot\":{\"x\":0.0208082105964422,\"y\":270.001281738281,\"z\":0.0167715921998024}},\"f883a7\":{\"lock\":false,\"pos\":{\"x\":40.2900733947754,\"y\":1.29834342002869,\"z\":-65.8198394775391},\"rot\":{\"x\":0.0208077020943165,\"y\":270.002410888672,\"z\":0.0167720913887024}},\"f8e834\":{\"lock\":false,\"pos\":{\"x\":36.624340057373,\"y\":1.29970848560333,\"z\":-56.6084365844727},\"rot\":{\"x\":0.0208153408020735,\"y\":269.976440429688,\"z\":0.016762575134635}},\"f9302c\":{\"lock\":false,\"pos\":{\"x\":40.2985038757324,\"y\":1.2903425693512,\"z\":-93.1637954711914},\"rot\":{\"x\":0.0208130273967981,\"y\":269.984436035156,\"z\":0.0167654659599066}},\"f93232\":{\"lock\":false,\"pos\":{\"x\":29.3400592803955,\"y\":1.28898406028748,\"z\":-84.2084732055664},\"rot\":{\"x\":0.0208086147904396,\"y\":269.999938964844,\"z\":0.0167710352689028}},\"fa6c1a\":{\"lock\":false,\"pos\":{\"x\":36.7542610168457,\"y\":1.28905892372131,\"z\":-93.1517944335938},\"rot\":{\"x\":0.0208184327930212,\"y\":269.96630859375,\"z\":0.0167590919882059}},\"faed96\":{\"lock\":false,\"pos\":{\"x\":36.6243591308594,\"y\":1.30240142345428,\"z\":-47.4084205627441},\"rot\":{\"x\":0.0208073873072863,\"y\":270.004211425781,\"z\":0.0167727507650852}},\"fde4dd\":{\"lock\":false,\"pos\":{\"x\":52.9442291259766,\"y\":1.30226576328278,\"z\":-68.1201934814453},\"rot\":{\"x\":0.0208078939467669,\"y\":270.002471923828,\"z\":0.0167719721794128}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "1fb7ce", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.963, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Pokemon: Eldritch Edition Custom Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_pokemon_eldritch_edition.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1597043896926982160/40A0068DAB05395205E184765110430CAADDA2CF/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"02dd21\":{\"lock\":false,\"pos\":{\"x\":-26.2999973297119,\"y\":1.27566242218018,\"z\":-53.4368362426758},\"rot\":{\"x\":359.979156494141,\"y\":89.9969024658203,\"z\":359.983245849609}},\"0de2c4\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.35992407798767,\"z\":-67.8206024169922},\"rot\":{\"x\":0.0208164416253567,\"y\":269.999755859375,\"z\":0.0167678892612457}},\"0f241b\":{\"lock\":false,\"pos\":{\"x\":-22.6168975830078,\"y\":1.3063827753067,\"z\":-84.8184967041016},\"rot\":{\"x\":0.016771724447608,\"y\":179.999954223633,\"z\":359.979187011719}},\"1aebf8\":{\"lock\":false,\"pos\":{\"x\":-26.3001308441162,\"y\":1.27108907699585,\"z\":-69.0606002807617},\"rot\":{\"x\":359.979156494141,\"y\":89.9996719360352,\"z\":359.983245849609}},\"226716\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.35920107364655,\"z\":-70.2906036376953},\"rot\":{\"x\":0.0208164621144533,\"y\":269.999572753906,\"z\":0.0167677756398916}},\"2a0151\":{\"lock\":false,\"pos\":{\"x\":-26.29958152771,\"y\":1.26647675037384,\"z\":-84.817985534668},\"rot\":{\"x\":359.979156494141,\"y\":90.0002746582031,\"z\":359.983215332031}},\"2d7917\":{\"lock\":false,\"pos\":{\"x\":-22.6168994903564,\"y\":1.31328415870667,\"z\":-61.2414016723633},\"rot\":{\"x\":0.016771299764514,\"y\":179.999923706055,\"z\":359.979187011719}},\"307044\":{\"lock\":false,\"pos\":{\"x\":-16.6401996612549,\"y\":1.3549485206604,\"z\":-84.8181991577148},\"rot\":{\"x\":0.0208103768527508,\"y\":270.022247314453,\"z\":0.016776017844677}},\"3ddfeb\":{\"lock\":false,\"pos\":{\"x\":-16.6394004821777,\"y\":1.35459744930267,\"z\":-86.0186004638672},\"rot\":{\"x\":0.0208164379000664,\"y\":269.999572753906,\"z\":0.0167675726115704}},\"3f0e28\":{\"lock\":false,\"pos\":{\"x\":-19.2959003448486,\"y\":1.31220149993896,\"z\":-69.0606994628906},\"rot\":{\"x\":0.0208025686442852,\"y\":270.020874023438,\"z\":0.0167785324156284}},\"41bfc7\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.3618528842926,\"z\":-61.2309989929199},\"rot\":{\"x\":0.0208135135471821,\"y\":270.010925292969,\"z\":0.0167720373719931}},\"4ad11b\":{\"lock\":false,\"pos\":{\"x\":-16.6396007537842,\"y\":1.357253074646,\"z\":-76.9456024169922},\"rot\":{\"x\":0.0208168551325798,\"y\":269.999694824219,\"z\":0.0167679917067289}},\"4d0a50\":{\"lock\":false,\"pos\":{\"x\":-22.613899230957,\"y\":1.31556940078735,\"z\":-53.4380989074707},\"rot\":{\"x\":0.0167713351547718,\"y\":179.999938964844,\"z\":359.979187011719}},\"543164\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.35956108570099,\"z\":-69.060302734375},\"rot\":{\"x\":0.0208166968077421,\"y\":269.999481201172,\"z\":0.0167676880955696}},\"6330da\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36378788948059,\"z\":-54.6207008361816},\"rot\":{\"x\":0.0208167098462582,\"y\":270.000457763672,\"z\":0.0167684089392424}},\"779aa6\":{\"lock\":false,\"pos\":{\"x\":-16.638500213623,\"y\":1.35532283782959,\"z\":-83.5414962768555},\"rot\":{\"x\":0.0208173394203186,\"y\":269.998016357422,\"z\":0.0167670622467995}},\"808696\":{\"lock\":false,\"pos\":{\"x\":-19.3001003265381,\"y\":1.31449115276337,\"z\":-61.2332000732422},\"rot\":{\"x\":0.0208018757402897,\"y\":270.022583007813,\"z\":0.0167793910950422}},\"810d82\":{\"lock\":false,\"pos\":{\"x\":-19.2997989654541,\"y\":1.3075875043869,\"z\":-84.8181991577148},\"rot\":{\"x\":0.0208041854202747,\"y\":270.022644042969,\"z\":0.0167822297662497}},\"8a01b9\":{\"lock\":false,\"pos\":{\"x\":-19.2936000823975,\"y\":1.30989551544189,\"z\":-76.9414978027344},\"rot\":{\"x\":0.020802179351449,\"y\":270.023406982422,\"z\":0.0167793575674295}},\"9e80b9\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36414813995361,\"z\":-53.3903999328613},\"rot\":{\"x\":0.0208209455013275,\"y\":269.983947753906,\"z\":0.0167623087763786}},\"a01c9b\":{\"lock\":false,\"pos\":{\"x\":-19.2999992370605,\"y\":1.31677353382111,\"z\":-53.4357986450195},\"rot\":{\"x\":0.0208026729524136,\"y\":270.021057128906,\"z\":0.0167783722281456}},\"bde4a6\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36451041698456,\"z\":-52.1520004272461},\"rot\":{\"x\":0.020816758275032,\"y\":269.999816894531,\"z\":0.0167679078876972}},\"bfb635\":{\"lock\":false,\"pos\":{\"x\":-26.3001384735107,\"y\":1.26878118515015,\"z\":-76.9456481933594},\"rot\":{\"x\":359.979156494141,\"y\":89.9997406005859,\"z\":359.983215332031}},\"cfcb92\":{\"lock\":false,\"pos\":{\"x\":-26.2994804382324,\"y\":1.27337789535522,\"z\":-61.2407188415527},\"rot\":{\"x\":359.979156494141,\"y\":90,\"z\":359.983245849609}},\"d6fdbf\":{\"lock\":false,\"pos\":{\"x\":-16.6399993896484,\"y\":1.36149287223816,\"z\":-62.4608993530273},\"rot\":{\"x\":0.0208269897848368,\"y\":269.965240478516,\"z\":0.0167553834617138}},\"d92dda\":{\"lock\":false,\"pos\":{\"x\":-22.6156997680664,\"y\":1.30868768692017,\"z\":-76.9459991455078},\"rot\":{\"x\":0.0167711619287729,\"y\":179.999893188477,\"z\":359.979187011719}},\"d9fb86\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.35689294338226,\"z\":-78.1755981445313},\"rot\":{\"x\":0.0208139065653086,\"y\":270.008666992188,\"z\":0.0167710781097412}},\"ddb016\":{\"lock\":false,\"pos\":{\"x\":-22.6156997680664,\"y\":1.31099140644073,\"z\":-69.0755996704102},\"rot\":{\"x\":0.0167711619287729,\"y\":179.999893188477,\"z\":359.979187011719}},\"de216f\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36221301555634,\"z\":-60.0009994506836},\"rot\":{\"x\":0.0208135861903429,\"y\":270.010711669922,\"z\":0.0167716089636087}},\"e04b48\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.35761606693268,\"z\":-75.7053985595703},\"rot\":{\"x\":0.0208202619105577,\"y\":269.987365722656,\"z\":0.0167635194957256}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "e32a71", - "Name": "Custom_Model", - "Transform": { - "posX": -45.871, - "posY": 1.973, - "posZ": -114.771, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.4, - "scaleY": 0.29, - "scaleZ": 1.53 - }, - "Nickname": "Nightmare Pack - EN", - "Description": "by The Popest", - "GMNotes": "fancreations/investigators_nightmare_town.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "https://i.imgur.com/ftafgpa.pnghttps://i.imgur.com/ftafgpa.png", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.735294163, - "g": 0.735294163, - "b": 0.735294163 - }, - "SpecularIntensity": 0.3, - "SpecularSharpness": 8.0, - "FresnelStrength": 0.4999999 - }, - "CastShadows": true - }, - "LuaScript": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"0088ba\":{\"lock\":false,\"pos\":{\"x\":-6.92639875411987,\"y\":97.6375579833984,\"z\":2.96812868118286},\"rot\":{\"x\":359.5029296875,\"y\":180.023330688477,\"z\":0.330624610185623}},\"0195d3\":{\"lock\":false,\"pos\":{\"x\":-5.3164,\"y\":1.7026,\"z\":0.3783},\"rot\":{\"x\":359.9197,\"y\":270.0199,\"z\":0.0168}},\"02dd21\":{\"lock\":false,\"pos\":{\"x\":-26.2999973297119,\"y\":1.27566242218018,\"z\":-53.4368362426758},\"rot\":{\"x\":359.979156494141,\"y\":89.9969024658203,\"z\":359.983245849609}},\"0745af\":{\"lock\":false,\"pos\":{\"x\":-16.6232299804688,\"y\":1.3615038394928,\"z\":-62.4441375732422},\"rot\":{\"x\":0.0208165217190981,\"y\":269.999938964844,\"z\":0.0167675279080868}},\"0be33e\":{\"lock\":false,\"pos\":{\"x\":-19.2455997467041,\"y\":1.29233181476593,\"z\":-90.5261001586914},\"rot\":{\"x\":0.0208136830478907,\"y\":269.986114501953,\"z\":0.0167653951793909}},\"0de2c4\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.35992407798767,\"z\":-67.8206024169922},\"rot\":{\"x\":0.0208164416253567,\"y\":269.999755859375,\"z\":0.0167678892612457}},\"0f241b\":{\"lock\":false,\"pos\":{\"x\":-22.6168975830078,\"y\":1.3063827753067,\"z\":-84.8184967041016},\"rot\":{\"x\":0.016771724447608,\"y\":179.999954223633,\"z\":359.979187011719}},\"11dbe4\":{\"lock\":false,\"pos\":{\"x\":-19.3039,\"y\":1.294,\"z\":-84.8224},\"rot\":{\"x\":0.0208,\"y\":269.9865,\"z\":0.0168}},\"1842b6\":{\"lock\":false,\"pos\":{\"x\":-26.3059005737305,\"y\":1.27565884590149,\"z\":-53.4418983459473},\"rot\":{\"x\":359.979187011719,\"y\":90.0104064941406,\"z\":359.983215332031}},\"19a0c4\":{\"lock\":false,\"pos\":{\"x\":-19.30419921875,\"y\":1.30316603183746,\"z\":-53.4401016235352},\"rot\":{\"x\":0.0208098273724318,\"y\":270.000091552734,\"z\":0.0167705342173576}},\"1a160c\":{\"lock\":false,\"pos\":{\"x\":-22.1548,\"y\":1.3655,\"z\":-53.4315},\"rot\":{\"x\":0.02,\"y\":270.018,\"z\":0.0165}},\"1aebf8\":{\"lock\":false,\"pos\":{\"x\":-26.3001308441162,\"y\":1.27108907699585,\"z\":-69.0606002807617},\"rot\":{\"x\":359.979156494141,\"y\":89.9996719360352,\"z\":359.983245849609}},\"1b0fdd\":{\"lock\":false,\"pos\":{\"x\":-16.5254249572754,\"y\":1.35332095623016,\"z\":-90.5208129882813},\"rot\":{\"x\":359.983215332031,\"y\":3.27318957715761E-05,\"z\":0.0208062957972288}},\"1dee2f\":{\"lock\":false,\"pos\":{\"x\":-6.90673065185547,\"y\":97.6462097167969,\"z\":1.91000008583069},\"rot\":{\"x\":359.501251220703,\"y\":180.003860473633,\"z\":0.333155572414398}},\"1f8fcf\":{\"lock\":false,\"pos\":{\"x\":-16.6235466003418,\"y\":1.35957205295563,\"z\":-69.0435256958008},\"rot\":{\"x\":0.0208160616457462,\"y\":270.00048828125,\"z\":0.0167686101049185}},\"226716\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.35920107364655,\"z\":-70.2906036376953},\"rot\":{\"x\":0.0208164621144533,\"y\":269.999572753906,\"z\":0.0167677756398916}},\"24660b\":{\"lock\":false,\"pos\":{\"x\":-16.6233291625977,\"y\":1.36415886878967,\"z\":-53.3736343383789},\"rot\":{\"x\":0.0208165738731623,\"y\":270.000305175781,\"z\":0.0167682748287916}},\"2a0151\":{\"lock\":false,\"pos\":{\"x\":-26.29958152771,\"y\":1.26647675037384,\"z\":-84.817985534668},\"rot\":{\"x\":359.979156494141,\"y\":90.0002746582031,\"z\":359.983215332031}},\"2d7917\":{\"lock\":false,\"pos\":{\"x\":-22.6168994903564,\"y\":1.31328415870667,\"z\":-61.2414016723633},\"rot\":{\"x\":0.016771299764514,\"y\":179.999923706055,\"z\":359.979187011719}},\"307044\":{\"lock\":false,\"pos\":{\"x\":-16.6401996612549,\"y\":1.3549485206604,\"z\":-84.8181991577148},\"rot\":{\"x\":0.0208103768527508,\"y\":270.022247314453,\"z\":0.016776017844677}},\"3b2bad\":{\"lock\":false,\"pos\":{\"x\":-22.6207008361816,\"y\":1.31328284740448,\"z\":-61.2412986755371},\"rot\":{\"x\":0.0208657011389732,\"y\":269.805206298828,\"z\":0.0167002454400063}},\"3c3607\":{\"lock\":false,\"pos\":{\"x\":-16.6233367919922,\"y\":1.36186385154724,\"z\":-61.2142333984375},\"rot\":{\"x\":0.0208165049552917,\"y\":269.99951171875,\"z\":0.0167678613215685}},\"3ddfeb\":{\"lock\":false,\"pos\":{\"x\":-16.6394004821777,\"y\":1.35459744930267,\"z\":-86.0186004638672},\"rot\":{\"x\":0.0208164379000664,\"y\":269.999572753906,\"z\":0.0167675726115704}},\"3f0e28\":{\"lock\":false,\"pos\":{\"x\":-19.2959003448486,\"y\":1.31220149993896,\"z\":-69.0606994628906},\"rot\":{\"x\":0.0208025686442852,\"y\":270.020874023438,\"z\":0.0167785324156284}},\"41bfc7\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.3618528842926,\"z\":-61.2309989929199},\"rot\":{\"x\":0.0208135135471821,\"y\":270.010925292969,\"z\":0.0167720373719931}},\"437a37\":{\"lock\":false,\"pos\":{\"x\":-22.6156997680664,\"y\":1.30868768692017,\"z\":-76.9459991455078},\"rot\":{\"x\":0.0208149589598179,\"y\":269.979187011719,\"z\":0.0167635623365641}},\"4722e6\":{\"lock\":false,\"pos\":{\"x\":-26.3049983978271,\"y\":1.2733747959137,\"z\":-61.2458000183105},\"rot\":{\"x\":359.979156494141,\"y\":89.9815063476563,\"z\":359.983245849609}},\"4ad11b\":{\"lock\":false,\"pos\":{\"x\":-16.6396007537842,\"y\":1.357253074646,\"z\":-76.9456024169922},\"rot\":{\"x\":0.0208168551325798,\"y\":269.999694824219,\"z\":0.0167679917067289}},\"4d0a50\":{\"lock\":false,\"pos\":{\"x\":-22.613899230957,\"y\":1.31556940078735,\"z\":-53.4380989074707},\"rot\":{\"x\":0.0167713351547718,\"y\":179.999938964844,\"z\":359.979187011719}},\"4f37be\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2334},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"51f42c\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4381},\"rot\":{\"x\":0.0208,\"y\":270.018,\"z\":0.0166}},\"543164\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.35956108570099,\"z\":-69.060302734375},\"rot\":{\"x\":0.0208166968077421,\"y\":269.999481201172,\"z\":0.0167676880955696}},\"5c7b14\":{\"lock\":false,\"pos\":{\"x\":-26.3050994873047,\"y\":1.27108597755432,\"z\":-69.0654067993164},\"rot\":{\"x\":359.979187011719,\"y\":90.010009765625,\"z\":359.983215332031}},\"607bc5\":{\"lock\":false,\"pos\":{\"x\":-22.621000289917,\"y\":1.30638003349304,\"z\":-84.8227005004883},\"rot\":{\"x\":0.0208084154874086,\"y\":270.001800537109,\"z\":0.0167717579752207}},\"6330da\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36378788948059,\"z\":-54.6207008361816},\"rot\":{\"x\":0.0208167098462582,\"y\":270.000457763672,\"z\":0.0167684089392424}},\"698808\":{\"lock\":false,\"pos\":{\"x\":-26.3044986724854,\"y\":1.26647329330444,\"z\":-84.8228073120117},\"rot\":{\"x\":359.979156494141,\"y\":90,\"z\":359.983215332031}},\"69f0d8\":{\"lock\":false,\"pos\":{\"x\":-22.617992401123,\"y\":1.33252048492432,\"z\":-53.4420967102051},\"rot\":{\"x\":0.0208107884973288,\"y\":269.996887207031,\"z\":0.0167698599398136}},\"6d91e6\":{\"lock\":false,\"pos\":{\"x\":-19.2978000640869,\"y\":1.29628801345825,\"z\":-76.94580078125},\"rot\":{\"x\":0.0208093039691448,\"y\":270,\"z\":0.0167701654136181}},\"7069c2\":{\"lock\":false,\"pos\":{\"x\":-16.6233425140381,\"y\":1.3569039106369,\"z\":-78.1588287353516},\"rot\":{\"x\":0.020816657692194,\"y\":270.000732421875,\"z\":0.0167684201151133}},\"709107\":{\"lock\":false,\"pos\":{\"x\":-9.4013557434082,\"y\":97.5541839599609,\"z\":7.28238010406494},\"rot\":{\"x\":359.660949707031,\"y\":269.990417480469,\"z\":359.491882324219}},\"73bbe6\":{\"lock\":false,\"pos\":{\"x\":-6.95197439193726,\"y\":97.6284790039063,\"z\":4.007155418396},\"rot\":{\"x\":359.502532958984,\"y\":180.026397705078,\"z\":0.33254799246788}},\"757716\":{\"lock\":false,\"pos\":{\"x\":-16.6233501434326,\"y\":1.35993504524231,\"z\":-67.803825378418},\"rot\":{\"x\":0.0208157859742641,\"y\":270.00048828125,\"z\":0.0167686063796282}},\"767abd\":{\"lock\":false,\"pos\":{\"x\":-11.8665,\"y\":14.5262,\"z\":4.6576},\"rot\":{\"x\":0.0801,\"y\":90,\"z\":359.9514}},\"778482\":{\"lock\":false,\"pos\":{\"x\":-19.3043,\"y\":1.3009,\"z\":-61.2375},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"779aa6\":{\"lock\":false,\"pos\":{\"x\":-16.638500213623,\"y\":1.35532283782959,\"z\":-83.5414962768555},\"rot\":{\"x\":0.0208173394203186,\"y\":269.998016357422,\"z\":0.0167670622467995}},\"7ae4a4\":{\"lock\":false,\"pos\":{\"x\":-16.6233386993408,\"y\":1.36222386360168,\"z\":-59.9842376708984},\"rot\":{\"x\":0.0208168067038059,\"y\":269.999603271484,\"z\":0.0167678035795689}},\"7c476f\":{\"lock\":false,\"pos\":{\"x\":-16.5496215820313,\"y\":1.35362160205841,\"z\":-89.4637145996094},\"rot\":{\"x\":359.983215332031,\"y\":-2.15352629311383E-05,\"z\":0.0208078436553478}},\"7d0121\":{\"lock\":false,\"pos\":{\"x\":-16.6235332489014,\"y\":1.35762691497803,\"z\":-75.6886291503906},\"rot\":{\"x\":0.0208214167505503,\"y\":269.981994628906,\"z\":0.0167614575475454}},\"808696\":{\"lock\":false,\"pos\":{\"x\":-19.3001003265381,\"y\":1.31449115276337,\"z\":-61.2332000732422},\"rot\":{\"x\":0.0208018757402897,\"y\":270.022583007813,\"z\":0.0167793910950422}},\"810d82\":{\"lock\":false,\"pos\":{\"x\":-19.2997989654541,\"y\":1.3075875043869,\"z\":-84.8181991577148},\"rot\":{\"x\":0.0208041854202747,\"y\":270.022644042969,\"z\":0.0167822297662497}},\"8a01b9\":{\"lock\":false,\"pos\":{\"x\":-19.2936000823975,\"y\":1.30989551544189,\"z\":-76.9414978027344},\"rot\":{\"x\":0.020802179351449,\"y\":270.023406982422,\"z\":0.0167793575674295}},\"90165e\":{\"lock\":false,\"pos\":{\"x\":-16.6233406066895,\"y\":1.36379873752594,\"z\":-54.6039276123047},\"rot\":{\"x\":0.0208164323121309,\"y\":270.000213623047,\"z\":0.016768142580986}},\"91d56f\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9416},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"928835\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"9c5af7\":{\"lock\":false,\"pos\":{\"x\":-26.3050975799561,\"y\":1.26877748966217,\"z\":-76.9504089355469},\"rot\":{\"x\":359.979156494141,\"y\":90,\"z\":359.983215332031}},\"9e80b9\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36414813995361,\"z\":-53.3903999328613},\"rot\":{\"x\":0.0208209455013275,\"y\":269.983947753906,\"z\":0.0167623087763786}},\"a01c9b\":{\"lock\":false,\"pos\":{\"x\":-19.2999992370605,\"y\":1.31677353382111,\"z\":-53.4357986450195},\"rot\":{\"x\":0.0208026729524136,\"y\":270.021057128906,\"z\":0.0167783722281456}},\"a52a3a\":{\"lock\":false,\"pos\":{\"x\":-16.6228427886963,\"y\":1.35726404190063,\"z\":-76.9288330078125},\"rot\":{\"x\":0.02081648260355,\"y\":270.00048828125,\"z\":0.0167677849531174}},\"aaf149\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3325,\"z\":-53.438},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"b6b36e\":{\"lock\":false,\"pos\":{\"x\":-16.6233329772949,\"y\":1.35921192169189,\"z\":-70.2738342285156},\"rot\":{\"x\":0.0208173170685768,\"y\":269.998687744141,\"z\":0.0167677458375692}},\"b95256\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"bde4a6\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36451041698456,\"z\":-52.1520004272461},\"rot\":{\"x\":0.020816758275032,\"y\":269.999816894531,\"z\":0.0167679078876972}},\"be44cf\":{\"lock\":false,\"pos\":{\"x\":-16.6268348693848,\"y\":1.35460567474365,\"z\":-86.0060272216797},\"rot\":{\"x\":0.0208113081753254,\"y\":270.017486572266,\"z\":0.0167743507772684}},\"bfb635\":{\"lock\":false,\"pos\":{\"x\":-26.3001384735107,\"y\":1.26878118515015,\"z\":-76.9456481933594},\"rot\":{\"x\":359.979156494141,\"y\":89.9997406005859,\"z\":359.983215332031}},\"c1bb90\":{\"lock\":false,\"pos\":{\"x\":-16.6234188079834,\"y\":1.35495948791504,\"z\":-84.8014526367188},\"rot\":{\"x\":0.0208165608346462,\"y\":270.000305175781,\"z\":0.0167681518942118}},\"ce1ca7\":{\"lock\":false,\"pos\":{\"x\":-9.40235042572021,\"y\":97.6034851074219,\"z\":3.199223279953},\"rot\":{\"x\":359.660064697266,\"y\":269.992919921875,\"z\":359.493011474609}},\"cf0fa6\":{\"lock\":false,\"pos\":{\"x\":-16.6233367919922,\"y\":1.36452126502991,\"z\":-52.1352310180664},\"rot\":{\"x\":0.0208160765469074,\"y\":270.000213623047,\"z\":0.0167679488658905}},\"cfcb92\":{\"lock\":false,\"pos\":{\"x\":-26.2994804382324,\"y\":1.27337789535522,\"z\":-61.2407188415527},\"rot\":{\"x\":359.979156494141,\"y\":90,\"z\":359.983245849609}},\"d6fdbf\":{\"lock\":false,\"pos\":{\"x\":-16.6399993896484,\"y\":1.36149287223816,\"z\":-62.4608993530273},\"rot\":{\"x\":0.0208269897848368,\"y\":269.965240478516,\"z\":0.0167553834617138}},\"d92dda\":{\"lock\":false,\"pos\":{\"x\":-22.6156997680664,\"y\":1.30868768692017,\"z\":-76.9459991455078},\"rot\":{\"x\":0.0167711619287729,\"y\":179.999893188477,\"z\":359.979187011719}},\"d9fb86\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.35689294338226,\"z\":-78.1755981445313},\"rot\":{\"x\":0.0208139065653086,\"y\":270.008666992188,\"z\":0.0167710781097412}},\"db82b2\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.2986,\"z\":-69.0649},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"ddb016\":{\"lock\":false,\"pos\":{\"x\":-22.6156997680664,\"y\":1.31099140644073,\"z\":-69.0755996704102},\"rot\":{\"x\":0.0167711619287729,\"y\":179.999893188477,\"z\":359.979187011719}},\"de216f\":{\"lock\":false,\"pos\":{\"x\":-16.640100479126,\"y\":1.36221301555634,\"z\":-60.0009994506836},\"rot\":{\"x\":0.0208135861903429,\"y\":270.010711669922,\"z\":0.0167716089636087}},\"e04b48\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.35761606693268,\"z\":-75.7053985595703},\"rot\":{\"x\":0.0208202619105577,\"y\":269.987365722656,\"z\":0.0167635194957256}},\"e4c465\":{\"lock\":false,\"pos\":{\"x\":-16.6260395050049,\"y\":1.35533106327057,\"z\":-83.5289001464844},\"rot\":{\"x\":0.020870653912425,\"y\":269.815185546875,\"z\":0.0167007204145193}},\"e6c6ea\":{\"lock\":false,\"pos\":{\"x\":-22.6138916015625,\"y\":1.33252322673798,\"z\":-53.4379997253418},\"rot\":{\"x\":0.0208101626485586,\"y\":269.99951171875,\"z\":0.0167707949876785}},\"eb67db\":{\"lock\":false,\"pos\":{\"x\":-22.619800567627,\"y\":1.31098866462708,\"z\":-69.0798034667969},\"rot\":{\"x\":0.0208089426159859,\"y\":270,\"z\":0.0167712215334177}},\"ee2ffa\":{\"lock\":false,\"pos\":{\"x\":-22.6136,\"y\":1.3325,\"z\":-53.4377},\"rot\":{\"x\":0.0208,\"y\":270.0079,\"z\":0.0168}},\"f94edc\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"f9adc0\":{\"lock\":false,\"pos\":{\"x\":-22.6197929382324,\"y\":1.32563877105713,\"z\":-76.9501953125},\"rot\":{\"x\":0.0208151005208492,\"y\":269.97607421875,\"z\":0.0167624745517969}},\"fed3c5\":{\"lock\":false,\"pos\":{\"x\":-16.523323059082,\"y\":1.35301625728607,\"z\":-91.5646133422852},\"rot\":{\"x\":359.983215332031,\"y\":5.10707141074818E-05,\"z\":0.0208062138408422}},\"ff3f4e\":{\"lock\":false,\"pos\":{\"x\":-22.63450050354,\"y\":1.30471432209015,\"z\":-90.496696472168},\"rot\":{\"x\":0.02080880664289,\"y\":270.000091552734,\"z\":0.0167712885886431}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4608c8", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.963, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Maximillion Pegasus Custom Investigator", - "Description": "By Game#0398", - "GMNotes": "fancreations/investigators_maximillion_pegasus.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1684870715280907223/1E9DE758F089D7F880ADC8CA594F9AA938743F8B/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"043636\":{\"lock\":false,\"pos\":{\"x\":-19.2958831787109,\"y\":1.31220149993896,\"z\":-69.0607070922852},\"rot\":{\"x\":0.0208086650818586,\"y\":270,\"z\":0.0167712047696114}},\"38e58a\":{\"lock\":false,\"pos\":{\"x\":-22.6156921386719,\"y\":1.31099140644073,\"z\":-69.0756149291992},\"rot\":{\"x\":0.0208094250410795,\"y\":269.999908447266,\"z\":0.0167717207223177}},\"728c1e\":{\"lock\":false,\"pos\":{\"x\":-26.3002033233643,\"y\":1.34105360507965,\"z\":-69.0606002807617},\"rot\":{\"x\":0.0208094790577888,\"y\":270.003631591797,\"z\":0.016773009672761}},\"e1aefa\":{\"lock\":false,\"pos\":{\"x\":-16.6402912139893,\"y\":1.31316602230072,\"z\":-69.0602951049805},\"rot\":{\"x\":0.0208082552999258,\"y\":270.000030517578,\"z\":0.0167675074189901}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "b82c6f", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.962, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Mass Effect Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_mass_effect.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1667985852037525429/FFCBAFD8EF7EFD1127F4482DF01FFD8AE9638B4D/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"08d3e3\":{\"lock\":false,\"pos\":{\"x\":13.7846,\"y\":1.1313,\"z\":-49.5292},\"rot\":{\"x\":0.0208,\"y\":270.0289,\"z\":0.0168}},\"0bb6e8\":{\"lock\":false,\"pos\":{\"x\":10.0417,\"y\":1.3206,\"z\":-76.9242},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"0ccbc7\":{\"lock\":false,\"pos\":{\"x\":1.8744,\"y\":1.3711,\"z\":-86.5372},\"rot\":{\"x\":359.9789,\"y\":90.0433,\"z\":359.9843}},\"17f1f6\":{\"lock\":false,\"pos\":{\"x\":13.7266,\"y\":1.3242,\"z\":-69.0544},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}},\"1850a0\":{\"lock\":false,\"pos\":{\"x\":10.1154,\"y\":1.13,\"z\":-49.5287},\"rot\":{\"x\":0.0208,\"y\":270.0003,\"z\":0.0168}},\"1a4d37\":{\"lock\":false,\"pos\":{\"x\":13.727,\"y\":1.3219,\"z\":-76.9246},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"2b6cc2\":{\"lock\":false,\"pos\":{\"x\":2.5928,\"y\":1.3179,\"z\":-76.9188},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"31a747\":{\"lock\":false,\"pos\":{\"x\":6.2777,\"y\":1.3215,\"z\":-69.0494},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"4fd5ba\":{\"lock\":false,\"pos\":{\"x\":13.7264,\"y\":1.3288,\"z\":-53.4163},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"513d5a\":{\"lock\":false,\"pos\":{\"x\":10.0422,\"y\":1.3274,\"z\":-53.4154},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"547fe6\":{\"lock\":false,\"pos\":{\"x\":13.7252,\"y\":1.3265,\"z\":-61.2201},\"rot\":{\"x\":0.0208,\"y\":270.0005,\"z\":0.0168}},\"570e85\":{\"lock\":false,\"pos\":{\"x\":2.6965,\"y\":1.1181,\"z\":-80.8667},\"rot\":{\"x\":0.0208,\"y\":270.0195,\"z\":0.0168}},\"60fa35\":{\"lock\":false,\"pos\":{\"x\":6.3792,\"y\":1.1263,\"z\":-57.3239},\"rot\":{\"x\":0.0208,\"y\":270.0177,\"z\":0.0168}},\"6d5e35\":{\"lock\":false,\"pos\":{\"x\":13.7587,\"y\":1.1267,\"z\":-65.2426},\"rot\":{\"x\":0.0208,\"y\":270.0178,\"z\":0.0168}},\"6fd13b\":{\"lock\":false,\"pos\":{\"x\":2.5897,\"y\":1.1204,\"z\":-72.9237},\"rot\":{\"x\":0.0208,\"y\":270.0206,\"z\":0.0168}},\"71818d\":{\"lock\":false,\"pos\":{\"x\":6.3664,\"y\":1.1286,\"z\":-49.5291},\"rot\":{\"x\":0.0208,\"y\":270.0194,\"z\":0.0168}},\"80b260\":{\"lock\":false,\"pos\":{\"x\":2.62,\"y\":1.1272,\"z\":-49.5292},\"rot\":{\"x\":0.0208,\"y\":270.0222,\"z\":0.0168}},\"80fbd7\":{\"lock\":false,\"pos\":{\"x\":13.8384,\"y\":1.1221,\"z\":-80.8671},\"rot\":{\"x\":0.0208,\"y\":270.0192,\"z\":0.0168}},\"821d26\":{\"lock\":false,\"pos\":{\"x\":6.2777,\"y\":1.3192,\"z\":-76.9192},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0167}},\"828364\":{\"lock\":false,\"pos\":{\"x\":6.2797,\"y\":1.3261,\"z\":-53.4113},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"858c12\":{\"lock\":false,\"pos\":{\"x\":10.1694,\"y\":1.1208,\"z\":-80.8667},\"rot\":{\"x\":0.0208,\"y\":270.0009,\"z\":0.0168}},\"87c700\":{\"lock\":false,\"pos\":{\"x\":2.5934,\"y\":1.3202,\"z\":-69.0337},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"8c43cc\":{\"lock\":false,\"pos\":{\"x\":6.2767,\"y\":1.3169,\"z\":-84.7916},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"8d56c2\":{\"lock\":false,\"pos\":{\"x\":13.7254,\"y\":1.3196,\"z\":-84.7972},\"rot\":{\"x\":0.0208,\"y\":270.0055,\"z\":0.0168}},\"947614\":{\"lock\":false,\"pos\":{\"x\":13.7557,\"y\":1.1244,\"z\":-72.9234},\"rot\":{\"x\":0.0208,\"y\":270.0186,\"z\":0.0168}},\"9db582\":{\"lock\":false,\"pos\":{\"x\":6.2766,\"y\":1.3238,\"z\":-61.2146},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"b0675e\":{\"lock\":false,\"pos\":{\"x\":2.5933,\"y\":1.3224,\"z\":-61.2141},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"b6b587\":{\"lock\":false,\"pos\":{\"x\":2.5939,\"y\":1.1226,\"z\":-65.2427},\"rot\":{\"x\":0.0208,\"y\":270.021,\"z\":0.0168}},\"b6e8bc\":{\"lock\":false,\"pos\":{\"x\":6.336,\"y\":1.1217,\"z\":-72.9236},\"rot\":{\"x\":0.0208,\"y\":270.0179,\"z\":0.0168}},\"b9aa5d\":{\"lock\":false,\"pos\":{\"x\":10.0851,\"y\":1.1231,\"z\":-72.923},\"rot\":{\"x\":0.0208,\"y\":270.0019,\"z\":0.0168}},\"bced27\":{\"lock\":false,\"pos\":{\"x\":10.1282,\"y\":1.1277,\"z\":-57.3233},\"rot\":{\"x\":0.0208,\"y\":270.0015,\"z\":0.0168}},\"be4e02\":{\"lock\":false,\"pos\":{\"x\":10.0425,\"y\":1.3183,\"z\":-84.7966},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"c1cdf9\":{\"lock\":false,\"pos\":{\"x\":6.3705,\"y\":1.124,\"z\":-65.2395},\"rot\":{\"x\":0.0208,\"y\":270.0005,\"z\":0.0168}},\"c75ea5\":{\"lock\":false,\"pos\":{\"x\":10.0417,\"y\":1.3252,\"z\":-61.2201},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"daf913\":{\"lock\":false,\"pos\":{\"x\":10.0419,\"y\":1.3229,\"z\":-69.0393},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"dc76bd\":{\"lock\":false,\"pos\":{\"x\":0.1399,\"y\":1.4643,\"z\":-89.6423},\"rot\":{\"x\":0.0186,\"y\":270.0274,\"z\":0.0196}},\"e82a8b\":{\"lock\":false,\"pos\":{\"x\":10.0893,\"y\":1.1254,\"z\":-65.2422},\"rot\":{\"x\":0.0208,\"y\":270.0003,\"z\":0.0168}},\"ed77db\":{\"lock\":false,\"pos\":{\"x\":2.6329,\"y\":1.125,\"z\":-57.3239},\"rot\":{\"x\":0.0208,\"y\":270.0218,\"z\":0.0168}},\"f36d20\":{\"lock\":false,\"pos\":{\"x\":2.5934,\"y\":1.3247,\"z\":-53.4101},\"rot\":{\"x\":0.0208,\"y\":269.9967,\"z\":0.0168}},\"fc82f2\":{\"lock\":false,\"pos\":{\"x\":13.7976,\"y\":1.129,\"z\":-57.3239},\"rot\":{\"x\":0.0208,\"y\":270.0198,\"z\":0.0168}},\"fe3578\":{\"lock\":false,\"pos\":{\"x\":6.4201,\"y\":1.1194,\"z\":-80.8671},\"rot\":{\"x\":0.0208,\"y\":270.0186,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "814e2a", - "Name": "Custom_Model", - "Transform": { - "posX": -57.863, - "posY": 2.38, - "posZ": -72.018, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Magical Girl Arkham Project", - "Description": "", - "GMNotes": "fancreations/investigators_magical_girl.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1903353113607751170/B835836D4DB21CA06206BF84EEAAD6B3E6C157CB/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"28957b\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.1159,\"z\":-61.2332},\"rot\":{\"x\":359.9792,\"y\":90.0003,\"z\":359.9832}},\"6f2834\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.1089,\"z\":-84.8182},\"rot\":{\"x\":359.9792,\"y\":90.0013,\"z\":359.9832}},\"b4a99c\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.1181,\"z\":-53.4358},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"cfa958\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.111,\"z\":-69.0606},\"rot\":{\"x\":359.9792,\"y\":89.9785,\"z\":359.9832}},\"e8b5fc\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.1113,\"z\":-76.9415},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"f6152e\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3223,\"z\":-69.0756},\"rot\":{\"x\":0.0208,\"y\":269.9924,\"z\":0.0168}},\"f6199b\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.1136,\"z\":-69.0607},\"rot\":{\"x\":359.9792,\"y\":90.0047,\"z\":359.9832}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "197f36", - "Name": "Custom_Model", - "Transform": { - "posX": -33.926, - "posY": 1.973, - "posZ": -99.815, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Lola Hayes Rework", - "Description": "By Mint Tea Fan", - "GMNotes": "fancreations/investigators_lola_hayes_rework.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.35294, - "g": 0.34902, - "b": 0.34902 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1754686449895663371/D5D8A1205E220C2ED2D0CA50705FBADE82C053BF/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"019d9e\":{\"lock\":false,\"pos\":{\"x\":3.92140078544617,\"y\":1.32441914081573,\"z\":-56.127498626709},\"rot\":{\"x\":0.0208084993064404,\"y\":269.999938964844,\"z\":0.0167712345719337}},\"01a7a5\":{\"lock\":false,\"pos\":{\"x\":3.91159749031067,\"y\":1.32307767868042,\"z\":-60.6982879638672},\"rot\":{\"x\":0.0208089128136635,\"y\":269.999206542969,\"z\":0.0167708117514849}},\"08377f\":{\"lock\":false,\"pos\":{\"x\":26.8402538299561,\"y\":1.29663562774658,\"z\":-54.9671783447266},\"rot\":{\"x\":0.0208043605089188,\"y\":270.015258789063,\"z\":0.0167764481157064}},\"092130\":{\"lock\":false,\"pos\":{\"x\":6.99819850921631,\"y\":1.31993222236633,\"z\":-75.2736968994141},\"rot\":{\"x\":0.0208056177943945,\"y\":270.010589599609,\"z\":0.0167749170213938}},\"0b0905\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.29989576339722,\"z\":-51.0611038208008},\"rot\":{\"x\":0.0208149328827858,\"y\":269.978942871094,\"z\":0.0167632307857275}},\"1da0bd\":{\"lock\":false,\"pos\":{\"x\":28.7816009521484,\"y\":1.29809892177582,\"z\":-52.3765258789063},\"rot\":{\"x\":0.0208087395876646,\"y\":269.999755859375,\"z\":0.0167710147798061}},\"1dae6f\":{\"lock\":false,\"pos\":{\"x\":3.83579897880554,\"y\":1.31878364086151,\"z\":-75.2736968994141},\"rot\":{\"x\":0.0208085812628269,\"y\":270.000152587891,\"z\":0.0167712830007076}},\"201fbe\":{\"lock\":false,\"pos\":{\"x\":26.8402519226074,\"y\":1.29891097545624,\"z\":-47.1935005187988},\"rot\":{\"x\":0.0208149291574955,\"y\":269.979064941406,\"z\":0.0167632326483727}},\"20afe9\":{\"lock\":false,\"pos\":{\"x\":10.4299983978271,\"y\":1.32745599746704,\"z\":-53.8278999328613},\"rot\":{\"x\":0.0208123754709959,\"y\":269.986633300781,\"z\":0.0167661476880312}},\"277df0\":{\"lock\":false,\"pos\":{\"x\":31.3143997192383,\"y\":1.34831249713898,\"z\":-76.6369018554688},\"rot\":{\"x\":359.979187011719,\"y\":90,\"z\":359.983215332031}},\"28fa8c\":{\"lock\":false,\"pos\":{\"x\":26.8402538299561,\"y\":1.29701471328735,\"z\":-53.6715660095215},\"rot\":{\"x\":0.0208039134740829,\"y\":270.016815185547,\"z\":0.0167769882827997}},\"2af612\":{\"lock\":false,\"pos\":{\"x\":32.5227279663086,\"y\":1.29066693782806,\"z\":-82.408088684082},\"rot\":{\"x\":0.0208140984177589,\"y\":269.982452392578,\"z\":0.0167647134512663}},\"2c10a3\":{\"lock\":false,\"pos\":{\"x\":7.19640207290649,\"y\":1.32562005519867,\"z\":-56.0881004333496},\"rot\":{\"x\":0.0208084769546986,\"y\":270.000122070313,\"z\":0.0167713537812233}},\"2cad41\":{\"lock\":false,\"pos\":{\"x\":3.94159936904907,\"y\":1.32711923122406,\"z\":-46.9281005859375},\"rot\":{\"x\":0.0208085831254721,\"y\":270,\"z\":0.0167712792754173}},\"2e8dc6\":{\"lock\":false,\"pos\":{\"x\":13.6491098403931,\"y\":1.32728123664856,\"z\":-58.4188995361328},\"rot\":{\"x\":0.0208083242177963,\"y\":270.000640869141,\"z\":0.0167717356234789}},\"2ec821\":{\"lock\":false,\"pos\":{\"x\":16.9171943664551,\"y\":1.29402875900269,\"z\":-51.5610733032227},\"rot\":{\"x\":0.0208087023347616,\"y\":270.000091552734,\"z\":0.0167712494730949}},\"354f96\":{\"lock\":false,\"pos\":{\"x\":16.9165992736816,\"y\":1.29269909858704,\"z\":-56.1026000976563},\"rot\":{\"x\":0.0208089090883732,\"y\":269.998504638672,\"z\":0.0167705900967121}},\"372afe\":{\"lock\":false,\"pos\":{\"x\":30.7249565124512,\"y\":1.29994642734528,\"z\":-48.4757537841797},\"rot\":{\"x\":0.0208044350147247,\"y\":270.014526367188,\"z\":0.0167762991040945}},\"3d460f\":{\"lock\":false,\"pos\":{\"x\":16.9165992736816,\"y\":1.29202950000763,\"z\":-58.3900985717773},\"rot\":{\"x\":0.0208089165389538,\"y\":269.998596191406,\"z\":0.0167706254869699}},\"3fc00d\":{\"lock\":false,\"pos\":{\"x\":30.724967956543,\"y\":1.29805028438568,\"z\":-54.9538269042969},\"rot\":{\"x\":0.0208147000521421,\"y\":269.98046875,\"z\":0.0167639553546906}},\"46aed1\":{\"lock\":false,\"pos\":{\"x\":7.19505834579468,\"y\":1.3242734670639,\"z\":-60.686767578125},\"rot\":{\"x\":0.0208175051957369,\"y\":269.969879150391,\"z\":0.0167601872235537}},\"4f6abf\":{\"lock\":false,\"pos\":{\"x\":10.4300022125244,\"y\":1.32812559604645,\"z\":-51.5404014587402},\"rot\":{\"x\":0.0208125319331884,\"y\":269.986633300781,\"z\":0.0167664457112551}},\"50de30\":{\"lock\":false,\"pos\":{\"x\":16.9101371765137,\"y\":1.29136097431183,\"z\":-60.6665916442871},\"rot\":{\"x\":0.0208124779164791,\"y\":269.986663818359,\"z\":0.016766257584095}},\"538240\":{\"lock\":false,\"pos\":{\"x\":7.19639539718628,\"y\":1.32628977298737,\"z\":-53.8004989624023},\"rot\":{\"x\":0.0208128653466702,\"y\":269.984405517578,\"z\":0.0167652033269405}},\"53cd6f\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.30103349685669,\"z\":-47.1742553710938},\"rot\":{\"x\":0.0208085309714079,\"y\":269.999938964844,\"z\":0.0167711097747087}},\"567067\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.29668068885803,\"z\":-52.3944778442383},\"rot\":{\"x\":0.0208133831620216,\"y\":269.983703613281,\"z\":0.0167649667710066}},\"5887cc\":{\"lock\":false,\"pos\":{\"x\":10.4299983978271,\"y\":1.32678639888763,\"z\":-56.1153984069824},\"rot\":{\"x\":0.0208130050450563,\"y\":269.984985351563,\"z\":0.0167658366262913}},\"59a93c\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.29875802993774,\"z\":-54.9479560852051},\"rot\":{\"x\":0.0208092629909515,\"y\":269.998657226563,\"z\":0.0167708080261946}},\"5c93be\":{\"lock\":false,\"pos\":{\"x\":26.8402538299561,\"y\":1.2973940372467,\"z\":-52.3759536743164},\"rot\":{\"x\":0.0208149068057537,\"y\":269.979309082031,\"z\":0.0167634282261133}},\"5eed1b\":{\"lock\":false,\"pos\":{\"x\":13.6441516876221,\"y\":1.32661664485931,\"z\":-60.683422088623},\"rot\":{\"x\":0.0208079162985086,\"y\":270.001403808594,\"z\":0.0167719349265099}},\"610887\":{\"lock\":false,\"pos\":{\"x\":3.94160103797913,\"y\":1.32578003406525,\"z\":-51.503101348877},\"rot\":{\"x\":0.0208084210753441,\"y\":270.000061035156,\"z\":0.016771275550127}},\"6119f3\":{\"lock\":false,\"pos\":{\"x\":7.81915473937988,\"y\":1.31534194946289,\"z\":-91.9738616943359},\"rot\":{\"x\":0.0208124257624149,\"y\":269.985778808594,\"z\":0.0167659912258387}},\"61f8a6\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.29592227935791,\"z\":-54.9857063293457},\"rot\":{\"x\":0.0208087246865034,\"y\":269.999755859375,\"z\":0.0167709402740002}},\"6930e1\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.30065429210663,\"z\":-48.4698715209961},\"rot\":{\"x\":0.0208149123936892,\"y\":269.978820800781,\"z\":0.0167637094855309}},\"6eae6f\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.2978184223175,\"z\":-48.5076332092285},\"rot\":{\"x\":0.020815022289753,\"y\":269.979156494141,\"z\":0.016763512045145}},\"702b7f\":{\"lock\":false,\"pos\":{\"x\":28.7816009521484,\"y\":1.29847812652588,\"z\":-51.0809097290039},\"rot\":{\"x\":0.0208148676902056,\"y\":269.979949951172,\"z\":0.0167637690901756}},\"728070\":{\"lock\":false,\"pos\":{\"x\":28.7816009521484,\"y\":1.29771971702576,\"z\":-53.6721382141113},\"rot\":{\"x\":0.0208141338080168,\"y\":269.981689453125,\"z\":0.0167641006410122}},\"747a1a\":{\"lock\":false,\"pos\":{\"x\":13.6926002502441,\"y\":1.32997536659241,\"z\":-49.268798828125},\"rot\":{\"x\":0.0208126474171877,\"y\":269.985595703125,\"z\":0.0167661849409342}},\"7b8100\":{\"lock\":false,\"pos\":{\"x\":28.7816028594971,\"y\":1.29734039306641,\"z\":-54.9677543640137},\"rot\":{\"x\":0.020811952650547,\"y\":269.988464355469,\"z\":0.0167668182402849}},\"7f7f75\":{\"lock\":false,\"pos\":{\"x\":6.22623920440674,\"y\":1.37304794788361,\"z\":-85.519287109375},\"rot\":{\"x\":359.979187011719,\"y\":89.9835586547852,\"z\":359.983245849609}},\"83355d\":{\"lock\":false,\"pos\":{\"x\":3.92138838768005,\"y\":1.32374942302704,\"z\":-58.4151992797852},\"rot\":{\"x\":0.0208090972155333,\"y\":269.998596191406,\"z\":0.0167706105858088}},\"8504ab\":{\"lock\":false,\"pos\":{\"x\":10.4300117492676,\"y\":1.32611680030823,\"z\":-58.4029006958008},\"rot\":{\"x\":0.0208083558827639,\"y\":270.000610351563,\"z\":0.0167714022099972}},\"865252\":{\"lock\":false,\"pos\":{\"x\":7.19640111923218,\"y\":1.32695925235748,\"z\":-51.5130004882813},\"rot\":{\"x\":0.0208086855709553,\"y\":269.999542236328,\"z\":0.0167709346860647}},\"8bc619\":{\"lock\":false,\"pos\":{\"x\":3.94160294532776,\"y\":1.32644963264465,\"z\":-49.2155990600586},\"rot\":{\"x\":0.0208084024488926,\"y\":269.999938964844,\"z\":0.0167711675167084}},\"8dd1fd\":{\"lock\":false,\"pos\":{\"x\":28.7816009521484,\"y\":1.29885733127594,\"z\":-49.7852935791016},\"rot\":{\"x\":0.0208091344684362,\"y\":269.999725341797,\"z\":0.0167706590145826}},\"8deccc\":{\"lock\":false,\"pos\":{\"x\":6.99819993972778,\"y\":1.31926262378693,\"z\":-77.5612030029297},\"rot\":{\"x\":0.0208084024488926,\"y\":270,\"z\":0.0167710911482573}},\"8f0604\":{\"lock\":false,\"pos\":{\"x\":7.19640207290649,\"y\":1.32495045661926,\"z\":-58.3755989074707},\"rot\":{\"x\":0.0208088997751474,\"y\":269.998352050781,\"z\":0.0167705584317446}},\"93db19\":{\"lock\":false,\"pos\":{\"x\":16.9171943664551,\"y\":1.29469835758209,\"z\":-49.2735748291016},\"rot\":{\"x\":0.02080905623734,\"y\":269.998504638672,\"z\":0.0167706962674856}},\"94d024\":{\"lock\":false,\"pos\":{\"x\":26.8402538299561,\"y\":1.29815244674683,\"z\":-49.784725189209},\"rot\":{\"x\":0.0208147242665291,\"y\":269.978881835938,\"z\":0.0167635474354029}},\"96dc11\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.29630148410797,\"z\":-53.6900901794434},\"rot\":{\"x\":0.0208086483180523,\"y\":269.999603271484,\"z\":0.0167705751955509}},\"97cea6\":{\"lock\":false,\"pos\":{\"x\":16.9165992736816,\"y\":1.29336869716644,\"z\":-53.8151016235352},\"rot\":{\"x\":0.0208126399666071,\"y\":269.985687255859,\"z\":0.0167660601437092}},\"9bff41\":{\"lock\":false,\"pos\":{\"x\":7.19640207290649,\"y\":1.3282984495163,\"z\":-46.9379997253418},\"rot\":{\"x\":0.0208085980266333,\"y\":270.000122070313,\"z\":0.0167712979018688}},\"a05b8d\":{\"lock\":false,\"pos\":{\"x\":16.4209995269775,\"y\":1.3429182767868,\"z\":-76.586799621582},\"rot\":{\"x\":359.979187011719,\"y\":90,\"z\":359.983215332031}},\"a10a31\":{\"lock\":false,\"pos\":{\"x\":32.6513633728027,\"y\":1.29770743846893,\"z\":-58.5151557922363},\"rot\":{\"x\":0.0208142809569836,\"y\":269.981781005859,\"z\":0.016764285042882}},\"a55c84\":{\"lock\":false,\"pos\":{\"x\":26.8402538299561,\"y\":1.29777324199677,\"z\":-51.0803375244141},\"rot\":{\"x\":0.0208055581897497,\"y\":270.010009765625,\"z\":0.0167748406529427}},\"a5a5fd\":{\"lock\":false,\"pos\":{\"x\":30.7249565124512,\"y\":1.29956722259521,\"z\":-49.771369934082},\"rot\":{\"x\":0.0208145193755627,\"y\":269.979766845703,\"z\":0.0167634915560484}},\"a60082\":{\"lock\":false,\"pos\":{\"x\":28.7816009521484,\"y\":1.29961585998535,\"z\":-47.1940612792969},\"rot\":{\"x\":0.0208147093653679,\"y\":269.97900390625,\"z\":0.0167633593082428}},\"a9e612\":{\"lock\":false,\"pos\":{\"x\":16.9171943664551,\"y\":1.29536783695221,\"z\":-46.9860725402832},\"rot\":{\"x\":0.0208084620535374,\"y\":270.000244140625,\"z\":0.0167713891714811}},\"aa5286\":{\"lock\":false,\"pos\":{\"x\":13.6491022109985,\"y\":1.32795083522797,\"z\":-56.1313018798828},\"rot\":{\"x\":0.0208085123449564,\"y\":270.000091552734,\"z\":0.0167715921998024}},\"ac8f67\":{\"lock\":false,\"pos\":{\"x\":3.81709909439087,\"y\":1.3211362361908,\"z\":-67.2136001586914},\"rot\":{\"x\":0.0208126436918974,\"y\":269.985717773438,\"z\":0.0167659427970648}},\"acc5be\":{\"lock\":false,\"pos\":{\"x\":7.48732423782349,\"y\":1.32246577739716,\"z\":-67.2249984741211},\"rot\":{\"x\":0.020813025534153,\"y\":269.985778808594,\"z\":0.0167660154402256}},\"b102c3\":{\"lock\":false,\"pos\":{\"x\":13.6926012039185,\"y\":1.3306450843811,\"z\":-46.981201171875},\"rot\":{\"x\":0.0208125654608011,\"y\":269.98583984375,\"z\":0.0167661607265472}},\"b45739\":{\"lock\":false,\"pos\":{\"x\":30.7249660491943,\"y\":1.30032575130463,\"z\":-47.1801376342773},\"rot\":{\"x\":0.02080905623734,\"y\":270.000061035156,\"z\":0.0167709086090326}},\"b4fc98\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.29819762706757,\"z\":-47.2120208740234},\"rot\":{\"x\":0.0208149868994951,\"y\":269.979248046875,\"z\":0.0167633313685656}},\"b811d0\":{\"lock\":false,\"pos\":{\"x\":16.9150009155273,\"y\":1.28909361362457,\"z\":-68.4179992675781},\"rot\":{\"x\":0.0208075027912855,\"y\":270.003295898438,\"z\":0.0167724974453449}},\"bb0dc0\":{\"lock\":false,\"pos\":{\"x\":13.6490983963013,\"y\":1.32929003238678,\"z\":-51.5563011169434},\"rot\":{\"x\":0.0208124667406082,\"y\":269.985534667969,\"z\":0.0167663432657719}},\"bb684e\":{\"lock\":false,\"pos\":{\"x\":3.8357982635498,\"y\":1.31811416149139,\"z\":-77.5612030029297},\"rot\":{\"x\":0.0208063647150993,\"y\":270.007354736328,\"z\":0.0167737249284983}},\"bb9641\":{\"lock\":false,\"pos\":{\"x\":3.94159889221191,\"y\":1.32511055469513,\"z\":-53.790599822998},\"rot\":{\"x\":0.0208086203783751,\"y\":269.999969482422,\"z\":0.0167711712419987}},\"be227d\":{\"lock\":false,\"pos\":{\"x\":26.8402538299561,\"y\":1.29853177070618,\"z\":-48.4891090393066},\"rot\":{\"x\":0.02081498503685,\"y\":269.97900390625,\"z\":0.016763050109148}},\"c04c67\":{\"lock\":false,\"pos\":{\"x\":32.6513633728027,\"y\":1.29732823371887,\"z\":-59.8107566833496},\"rot\":{\"x\":0.0208146143704653,\"y\":269.979461669922,\"z\":0.0167633686214685}},\"c5fe5b\":{\"lock\":false,\"pos\":{\"x\":30.7249565124512,\"y\":1.29918801784515,\"z\":-51.0669860839844},\"rot\":{\"x\":0.0208047740161419,\"y\":270.014007568359,\"z\":0.0167763773351908}},\"c7e3cf\":{\"lock\":false,\"pos\":{\"x\":30.7249565124512,\"y\":1.29880881309509,\"z\":-52.3625946044922},\"rot\":{\"x\":0.0208084918558598,\"y\":270.000427246094,\"z\":0.0167708285152912}},\"c95de1\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.29951655864716,\"z\":-52.3567237854004},\"rot\":{\"x\":0.0208088513463736,\"y\":269.999328613281,\"z\":0.0167709048837423}},\"d3d7fb\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.29913723468781,\"z\":-53.6523399353027},\"rot\":{\"x\":0.0208129361271858,\"y\":269.984558105469,\"z\":0.0167655125260353}},\"d45a1d\":{\"lock\":false,\"pos\":{\"x\":5.17509365081787,\"y\":1.31438422203064,\"z\":-91.9651794433594},\"rot\":{\"x\":0.0208127330988646,\"y\":269.985626220703,\"z\":0.0167658533900976}},\"d9a805\":{\"lock\":false,\"pos\":{\"x\":7.19639825820923,\"y\":1.32762885093689,\"z\":-49.2254981994629},\"rot\":{\"x\":0.0208087023347616,\"y\":269.999694824219,\"z\":0.0167710371315479}},\"dc6a2c\":{\"lock\":false,\"pos\":{\"x\":16.9150009155273,\"y\":1.28976321220398,\"z\":-66.130500793457},\"rot\":{\"x\":0.0208083242177963,\"y\":270.000732421875,\"z\":0.0167713966220617}},\"ddccf9\":{\"lock\":false,\"pos\":{\"x\":10.4736061096191,\"y\":1.32881104946136,\"z\":-49.2528991699219},\"rot\":{\"x\":0.0208082422614098,\"y\":270.001403808594,\"z\":0.016771525144577}},\"e0bf2d\":{\"lock\":false,\"pos\":{\"x\":10.4073534011841,\"y\":1.32543790340424,\"z\":-60.6943244934082},\"rot\":{\"x\":0.0208086799830198,\"y\":269.999328613281,\"z\":0.0167710985988379}},\"e26ddc\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.29705989360809,\"z\":-51.0988616943359},\"rot\":{\"x\":0.020803939551115,\"y\":270.015869140625,\"z\":0.0167766232043505}},\"e4377f\":{\"lock\":false,\"pos\":{\"x\":10.4736051559448,\"y\":1.32948064804077,\"z\":-46.9654006958008},\"rot\":{\"x\":0.0208081118762493,\"y\":270.001190185547,\"z\":0.0167714916169643}},\"e86c65\":{\"lock\":false,\"pos\":{\"x\":13.6491022109985,\"y\":1.32862043380737,\"z\":-53.8437995910645},\"rot\":{\"x\":0.0208083298057318,\"y\":270.000091552734,\"z\":0.0167714711278677}},\"ebc4d9\":{\"lock\":false,\"pos\":{\"x\":28.7816009521484,\"y\":1.29923665523529,\"z\":-48.4896774291992},\"rot\":{\"x\":0.0208099763840437,\"y\":269.996398925781,\"z\":0.0167694985866547}},\"ef116e\":{\"lock\":false,\"pos\":{\"x\":30.7249565124512,\"y\":1.29842948913574,\"z\":-53.6582107543945},\"rot\":{\"x\":0.0208144132047892,\"y\":269.979614257813,\"z\":0.0167637132108212}},\"f317ac\":{\"lock\":false,\"pos\":{\"x\":32.6690406799316,\"y\":1.30027496814728,\"z\":-49.7654914855957},\"rot\":{\"x\":0.0208088606595993,\"y\":269.999816894531,\"z\":0.0167711395770311}},\"fa142f\":{\"lock\":false,\"pos\":{\"x\":24.8910350799561,\"y\":1.29743921756744,\"z\":-49.8032493591309},\"rot\":{\"x\":0.0208056848496199,\"y\":270.010162353516,\"z\":0.0167747549712658}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "64ad17", - "Name": "Custom_Model", - "Transform": { - "posX": -34.685, - "posY": 2.827, - "posZ": -108.225, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Kaimonogatari Player cards", - "Description": "version 1.5", - "GMNotes": "fancreations/investigators_kaimonogatari.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1644335793265681039/FD6A85925D62077C37F89B6AD082D15D90244D13/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"00b7d1\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2838,\"z\":87.0133},\"rot\":{\"x\":0.0208,\"y\":270.0003,\"z\":0.0168}},\"03a35e\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.283,\"z\":94.4496},\"rot\":{\"x\":0.0208,\"y\":270.0348,\"z\":0.0168}},\"03bf91\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.2763,\"z\":71.4496},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"040cf6\":{\"lock\":false,\"pos\":{\"x\":19.4901,\"y\":1.2959,\"z\":92.0494},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"0441cb\":{\"lock\":false,\"pos\":{\"x\":-8.9837,\"y\":1.2729,\"z\":59.9495},\"rot\":{\"x\":0.0208,\"y\":269.9796,\"z\":0.0168}},\"0a6180\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2843,\"z\":94.4496},\"rot\":{\"x\":0.0208,\"y\":270.0153,\"z\":0.0168}},\"0cb1df\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2891,\"z\":73.8366},\"rot\":{\"x\":0.0208,\"y\":270.0189,\"z\":0.0168}},\"0cbe7d\":{\"lock\":false,\"pos\":{\"x\":-19.3011,\"y\":1.3122,\"z\":-69.0606},\"rot\":{\"x\":0.0206,\"y\":270.5735,\"z\":0.017}},\"0fd66c\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2925,\"z\":85.3358},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"0fd992\":{\"lock\":false,\"pos\":{\"x\":-19.3151,\"y\":1.3336,\"z\":-55.1488},\"rot\":{\"x\":0.0208,\"y\":270.0051,\"z\":0.9269}},\"133340\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2776,\"z\":71.4496},\"rot\":{\"x\":0.0208,\"y\":270.0128,\"z\":0.0168}},\"1483d9\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2849,\"z\":92.1617},\"rot\":{\"x\":0.0208,\"y\":269.9772,\"z\":0.0168}},\"166196\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2771,\"z\":64.0133},\"rot\":{\"x\":0.0208,\"y\":270.0005,\"z\":0.0168}},\"16c15b\":{\"lock\":false,\"pos\":{\"x\":-7.879,\"y\":1.2629,\"z\":70.9133},\"rot\":{\"x\":0.0208,\"y\":270.0198,\"z\":0.0168}},\"1a7b02\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2798,\"z\":77.8253},\"rot\":{\"x\":0.0208,\"y\":270.0033,\"z\":0.0168}},\"1bd191\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2779,\"z\":80.1133},\"rot\":{\"x\":0.0208,\"y\":270.0249,\"z\":0.0168}},\"1be073\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.3032,\"z\":75.5133},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"1be35a\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.3086,\"z\":-84.8182},\"rot\":{\"x\":0.0168,\"y\":180.0001,\"z\":359.9792}},\"1c6b3a\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2829,\"z\":76.0596},\"rot\":{\"x\":0.0208,\"y\":269.9926,\"z\":0.0168}},\"1c87fe\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2816,\"z\":85.2496},\"rot\":{\"x\":0.0208,\"y\":270.0196,\"z\":0.0168}},\"202a96\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2829,\"z\":85.2616},\"rot\":{\"x\":0.0208,\"y\":269.9774,\"z\":0.0168}},\"21ced3\":{\"lock\":false,\"pos\":{\"x\":-19.3034,\"y\":1.3168,\"z\":-53.4359},\"rot\":{\"x\":0.0209,\"y\":270.0017,\"z\":0.0163}},\"2450c5\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2802,\"z\":66.8594},\"rot\":{\"x\":0.0208,\"y\":270.0025,\"z\":0.0168}},\"24581f\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2758,\"z\":64.0253},\"rot\":{\"x\":0.0208,\"y\":270.0003,\"z\":0.0168}},\"273674\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0208,\"y\":270.0039,\"z\":0.0168}},\"27aba8\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2785,\"z\":73.2253},\"rot\":{\"x\":0.0208,\"y\":270.0192,\"z\":0.0168}},\"27ba20\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2796,\"z\":78.3496},\"rot\":{\"x\":0.0208,\"y\":269.9618,\"z\":0.0168}},\"27ed55\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3178,\"z\":-53.3904},\"rot\":{\"x\":0.0168,\"y\":180.0039,\"z\":359.9792}},\"2848ab\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2842,\"z\":89.8616},\"rot\":{\"x\":0.0208,\"y\":269.9774,\"z\":0.0168}},\"2872fc\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2782,\"z\":64.5743},\"rot\":{\"x\":0.0208,\"y\":270.0121,\"z\":0.0168}},\"28e0b4\":{\"lock\":false,\"pos\":{\"x\":5.6424,\"y\":1.2809,\"z\":69.1595},\"rot\":{\"x\":0.0208,\"y\":269.978,\"z\":0.0168}},\"2a2c03\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2777,\"z\":66.3133},\"rot\":{\"x\":0.0208,\"y\":270.0127,\"z\":0.0168}},\"2a9a02\":{\"lock\":false,\"pos\":{\"x\":10.8335,\"y\":1.3194,\"z\":70.1049},\"rot\":{\"x\":0.0208,\"y\":269.9723,\"z\":0.0168}},\"2b5584\":{\"lock\":false,\"pos\":{\"x\":25.9535,\"y\":1.2989,\"z\":94.3343},\"rot\":{\"x\":0.0208,\"y\":269.9986,\"z\":0.0168}},\"2cf882\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2798,\"z\":73.2133},\"rot\":{\"x\":0.0208,\"y\":270.0112,\"z\":0.0168}},\"2d8ecc\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2796,\"z\":64.5596},\"rot\":{\"x\":0.0208,\"y\":269.9966,\"z\":0.0168}},\"2fecde\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3064,\"z\":-84.8185},\"rot\":{\"x\":0.0208,\"y\":270.0159,\"z\":0.0168}},\"30c749\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2789,\"z\":71.4616},\"rot\":{\"x\":0.0208,\"y\":269.9828,\"z\":0.0168}},\"31c14d\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2812,\"z\":82.4253},\"rot\":{\"x\":0.0208,\"y\":270.0004,\"z\":0.0168}},\"320094\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.2776,\"z\":76.0496},\"rot\":{\"x\":0.0208,\"y\":270.0482,\"z\":0.0168}},\"3450cc\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2952,\"z\":94.5358},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"345d3c\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2816,\"z\":71.4596},\"rot\":{\"x\":0.0208,\"y\":269.9965,\"z\":0.0168}},\"363a78\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2789,\"z\":76.0496},\"rot\":{\"x\":0.0208,\"y\":270.0044,\"z\":0.0168}},\"36dbe9\":{\"lock\":false,\"pos\":{\"x\":-12.6031,\"y\":1.2803,\"z\":89.8237},\"rot\":{\"x\":0.0208,\"y\":269.9794,\"z\":0.0168}},\"3b3d81\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2932,\"z\":87.6358},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"3c12da\":{\"lock\":false,\"pos\":{\"x\":12.7277,\"y\":1.2928,\"z\":89.9201},\"rot\":{\"x\":0.0208,\"y\":269.9804,\"z\":0.0168}},\"3d079d\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2809,\"z\":78.3616},\"rot\":{\"x\":0.0208,\"y\":269.9798,\"z\":0.0168}},\"3e5de2\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2802,\"z\":71.4743},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"3ff589\":{\"lock\":false,\"pos\":{\"x\":-5.429,\"y\":1.2742,\"z\":59.9495},\"rot\":{\"x\":0.0208,\"y\":270.0281,\"z\":0.0168}},\"416008\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2832,\"z\":89.3253},\"rot\":{\"x\":0.0208,\"y\":270.0187,\"z\":0.0168}},\"4402a1\":{\"lock\":false,\"pos\":{\"x\":-22.6179,\"y\":1.3461,\"z\":-53.4373},\"rot\":{\"x\":1.1625,\"y\":269.9696,\"z\":0.0168}},\"47bdc1\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.2743,\"z\":64.5497},\"rot\":{\"x\":0.0208,\"y\":270.0215,\"z\":0.0168}},\"47ddb0\":{\"lock\":false,\"pos\":{\"x\":22.669,\"y\":1.295,\"z\":85.135},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"488fce\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.2783,\"z\":78.3496},\"rot\":{\"x\":0.0208,\"y\":270.0379,\"z\":0.0168}},\"4c56c4\":{\"lock\":false,\"pos\":{\"x\":25.9535,\"y\":1.2962,\"z\":85.1343},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"519e24\":{\"lock\":false,\"pos\":{\"x\":1.7638,\"y\":1.2869,\"z\":94.475},\"rot\":{\"x\":0.0208,\"y\":270.0354,\"z\":0.0168}},\"55769f\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2795,\"z\":73.7616},\"rot\":{\"x\":0.0208,\"y\":269.9561,\"z\":0.0168}},\"58bf2c\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2823,\"z\":87.5496},\"rot\":{\"x\":0.0208,\"y\":269.9702,\"z\":0.0168}},\"592017\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2802,\"z\":76.0616},\"rot\":{\"x\":0.0208,\"y\":269.972,\"z\":0.0168}},\"5925a5\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2782,\"z\":59.9594},\"rot\":{\"x\":0.0208,\"y\":269.9965,\"z\":0.0168}},\"595894\":{\"lock\":false,\"pos\":{\"x\":-12.6025,\"y\":1.2817,\"z\":94.4237},\"rot\":{\"x\":0.0208,\"y\":269.99,\"z\":0.0168}},\"599b2e\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2836,\"z\":78.3596},\"rot\":{\"x\":0.0208,\"y\":269.9924,\"z\":0.0168}},\"5a02fe\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2825,\"z\":87.0253},\"rot\":{\"x\":0.0208,\"y\":270.0186,\"z\":0.0168}},\"5a418b\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2752,\"z\":70.9133},\"rot\":{\"x\":0.0168,\"y\":179.9918,\"z\":359.9792}},\"5a4b91\":{\"lock\":false,\"pos\":{\"x\":-12.603,\"y\":1.279,\"z\":85.2172},\"rot\":{\"x\":0.0208,\"y\":269.9775,\"z\":0.0168}},\"5a7432\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3132,\"z\":-69.0603},\"rot\":{\"x\":0.0168,\"y\":179.9955,\"z\":359.9792}},\"5c2d70\":{\"lock\":false,\"pos\":{\"x\":-12.603,\"y\":1.2797,\"z\":87.5237},\"rot\":{\"x\":0.0208,\"y\":269.9663,\"z\":0.0168}},\"5d6157\":{\"lock\":false,\"pos\":{\"x\":12.4059,\"y\":1.2933,\"z\":92.1521},\"rot\":{\"x\":0.0208,\"y\":269.9875,\"z\":0.0168}},\"5df58d\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3109,\"z\":-76.9456},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":359.9792}},\"5ff3e1\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2786,\"z\":82.4133},\"rot\":{\"x\":0.0208,\"y\":270.0186,\"z\":0.0168}},\"60af01\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3155,\"z\":-61.231},\"rot\":{\"x\":0.0168,\"y\":179.9924,\"z\":359.9792}},\"62d7b6\":{\"lock\":false,\"pos\":{\"x\":22.669,\"y\":1.2964,\"z\":89.735},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"65091e\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2829,\"z\":89.8496},\"rot\":{\"x\":0.0208,\"y\":270.0009,\"z\":0.0168}},\"6793a3\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.2796,\"z\":82.9496},\"rot\":{\"x\":0.0208,\"y\":270.0181,\"z\":0.0168}},\"67ffbf\":{\"lock\":false,\"pos\":{\"x\":-26.3001,\"y\":1.3119,\"z\":-61.241},\"rot\":{\"x\":0.0208,\"y\":269.9922,\"z\":0.0168}},\"69aef7\":{\"lock\":false,\"pos\":{\"x\":-19.2507,\"y\":1.3294,\"z\":-86.424},\"rot\":{\"x\":0.159,\"y\":270.0175,\"z\":0.9902}},\"6cd869\":{\"lock\":false,\"pos\":{\"x\":-8.9931,\"y\":1.2749,\"z\":66.8824},\"rot\":{\"x\":0.0208,\"y\":269.9902,\"z\":0.0168}},\"71abe6\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2803,\"z\":80.6496},\"rot\":{\"x\":0.0208,\"y\":269.9639,\"z\":0.0168}},\"729701\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2822,\"z\":82.9616},\"rot\":{\"x\":0.0208,\"y\":269.9788,\"z\":0.0168}},\"74493a\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2852,\"z\":91.6133},\"rot\":{\"x\":0.0208,\"y\":270.019,\"z\":0.0168}},\"74658f\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2813,\"z\":91.6133},\"rot\":{\"x\":0.0208,\"y\":270.0141,\"z\":0.0168}},\"769e65\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2809,\"z\":82.9496},\"rot\":{\"x\":0.0208,\"y\":270.0154,\"z\":0.0168}},\"7970d2\":{\"lock\":false,\"pos\":{\"x\":-5.4321,\"y\":1.2749,\"z\":62.2497},\"rot\":{\"x\":0.0208,\"y\":270.0382,\"z\":0.0168}},\"7a29a7\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2811,\"z\":77.8133},\"rot\":{\"x\":0.0208,\"y\":270.0003,\"z\":0.0168}},\"7ce81c\":{\"lock\":false,\"pos\":{\"x\":19.4901,\"y\":1.2966,\"z\":94.3494},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}},\"7cf799\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2843,\"z\":80.6596},\"rot\":{\"x\":0.0208,\"y\":269.9926,\"z\":0.0168}},\"7cf99b\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2806,\"z\":89.3133},\"rot\":{\"x\":0.0208,\"y\":270.0039,\"z\":0.0168}},\"7d3855\":{\"lock\":false,\"pos\":{\"x\":5.6428,\"y\":1.2876,\"z\":92.1596},\"rot\":{\"x\":0.0208,\"y\":270.0381,\"z\":0.0168}},\"7d4931\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2795,\"z\":69.1743},\"rot\":{\"x\":0.0208,\"y\":270.0142,\"z\":0.0168}},\"805888\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.3097,\"z\":-69.0606},\"rot\":{\"x\":0.0208,\"y\":270.0825,\"z\":0.0168}},\"8249b7\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2918,\"z\":83.0358},\"rot\":{\"x\":0.0208,\"y\":269.9907,\"z\":0.0168}},\"830efe\":{\"lock\":false,\"pos\":{\"x\":-19.3021,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":269.8826,\"z\":0.0167}},\"85cbad\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2862,\"z\":92.1743},\"rot\":{\"x\":0.0208,\"y\":270.0354,\"z\":0.0168}},\"88c948\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2782,\"z\":69.1616},\"rot\":{\"x\":0.0208,\"y\":269.9563,\"z\":0.0168}},\"8a2863\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.2817,\"z\":89.8496},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"8ab0aa\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2809,\"z\":73.7744},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"8adb9e\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2845,\"z\":89.3133},\"rot\":{\"x\":0.0208,\"y\":270.0004,\"z\":0.0168}},\"8bc00c\":{\"lock\":false,\"pos\":{\"x\":12.7277,\"y\":1.2915,\"z\":85.3209},\"rot\":{\"x\":0.0208,\"y\":269.9714,\"z\":0.0168}},\"8cd646\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2938,\"z\":89.9358},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"8df09a\":{\"lock\":false,\"pos\":{\"x\":-19.3032,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0209,\"y\":269.8336,\"z\":0.0167}},\"8ec9e8\":{\"lock\":false,\"pos\":{\"x\":-26.3,\"y\":1.3142,\"z\":-53.4369},\"rot\":{\"x\":0.0208,\"y\":270.0057,\"z\":0.0168}},\"90adc7\":{\"lock\":false,\"pos\":{\"x\":-8.9868,\"y\":1.2736,\"z\":62.2497},\"rot\":{\"x\":0.0208,\"y\":269.9756,\"z\":0.0168}},\"9284f6\":{\"lock\":false,\"pos\":{\"x\":12.7274,\"y\":1.2941,\"z\":94.5185},\"rot\":{\"x\":0.0208,\"y\":269.9738,\"z\":0.0168}},\"92a8c8\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.281,\"z\":87.5496},\"rot\":{\"x\":0.0208,\"y\":269.9668,\"z\":0.0168}},\"9663f1\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.287,\"z\":89.8596},\"rot\":{\"x\":0.0208,\"y\":269.9928,\"z\":0.0168}},\"96fb56\":{\"lock\":false,\"pos\":{\"x\":-19.3331,\"y\":1.3285,\"z\":-78.5001},\"rot\":{\"x\":0.0188,\"y\":270.002,\"z\":1.0175}},\"98d59a\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2849,\"z\":87.5744},\"rot\":{\"x\":0.0208,\"y\":270.0286,\"z\":0.0168}},\"99751d\":{\"lock\":false,\"pos\":{\"x\":19.4901,\"y\":1.2952,\"z\":89.7494},\"rot\":{\"x\":0.0208,\"y\":269.999,\"z\":0.0168}},\"9d7db7\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2823,\"z\":73.7596},\"rot\":{\"x\":0.0208,\"y\":269.9927,\"z\":0.0168}},\"a03156\":{\"lock\":false,\"pos\":{\"x\":19.5868,\"y\":1.2508,\"z\":69.6144},\"rot\":{\"x\":359.9792,\"y\":89.9929,\"z\":359.9832}},\"a311eb\":{\"lock\":false,\"pos\":{\"x\":12.4068,\"y\":1.294,\"z\":94.5291},\"rot\":{\"x\":0.0208,\"y\":270.0088,\"z\":0.0168}},\"a4ca98\":{\"lock\":false,\"pos\":{\"x\":5.6429,\"y\":1.2883,\"z\":94.4596},\"rot\":{\"x\":0.0208,\"y\":269.9978,\"z\":0.0168}},\"a4d6ce\":{\"lock\":false,\"pos\":{\"x\":12.7274,\"y\":1.2921,\"z\":87.6185},\"rot\":{\"x\":0.0208,\"y\":269.9931,\"z\":0.0168}},\"a50220\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.2803,\"z\":85.2496},\"rot\":{\"x\":0.0208,\"y\":270.0254,\"z\":0.0168}},\"aa4203\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2856,\"z\":85.2596},\"rot\":{\"x\":0.0208,\"y\":269.9926,\"z\":0.0168}},\"ab19ea\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2825,\"z\":82.4133},\"rot\":{\"x\":0.0208,\"y\":270.0214,\"z\":0.0168}},\"acf78b\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2898,\"z\":76.1357},\"rot\":{\"x\":0.0208,\"y\":270.0255,\"z\":0.0168}},\"af287c\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2819,\"z\":84.7253},\"rot\":{\"x\":0.0208,\"y\":270.0006,\"z\":0.0168}},\"b1ab4a\":{\"lock\":false,\"pos\":{\"x\":25.9535,\"y\":1.2975,\"z\":89.7342},\"rot\":{\"x\":0.0208,\"y\":270.0007,\"z\":0.0168}},\"b3612e\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2804,\"z\":75.5133},\"rot\":{\"x\":0.0208,\"y\":270.0006,\"z\":0.0168}},\"bb2d8c\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2816,\"z\":80.6616},\"rot\":{\"x\":0.0208,\"y\":269.9734,\"z\":0.0168}},\"bbd9b9\":{\"lock\":false,\"pos\":{\"x\":19.4901,\"y\":1.2939,\"z\":85.1494},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"bea40c\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2799,\"z\":87.0133},\"rot\":{\"x\":0.0208,\"y\":270.0187,\"z\":0.0168}},\"bed1c4\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2765,\"z\":66.3253},\"rot\":{\"x\":0.0208,\"y\":270.0004,\"z\":0.0168}},\"bf1297\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0208,\"y\":270.0037,\"z\":0.0168}},\"c0e8e4\":{\"lock\":false,\"pos\":{\"x\":12.7274,\"y\":1.2935,\"z\":92.2185},\"rot\":{\"x\":0.0208,\"y\":269.9789,\"z\":0.0168}},\"c25061\":{\"lock\":false,\"pos\":{\"x\":9.221,\"y\":1.2896,\"z\":94.5498},\"rot\":{\"x\":0.0208,\"y\":269.985,\"z\":0.0168}},\"c48fc3\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.279,\"z\":80.6496},\"rot\":{\"x\":0.0208,\"y\":270.0384,\"z\":0.0168}},\"c53e8d\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2782,\"z\":73.7496},\"rot\":{\"x\":0.0208,\"y\":269.9773,\"z\":0.0168}},\"c6ef37\":{\"lock\":false,\"pos\":{\"x\":25.9413,\"y\":1.2982,\"z\":92.0275},\"rot\":{\"x\":0.0208,\"y\":270.0007,\"z\":0.0168}},\"c821e9\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.285,\"z\":82.9596},\"rot\":{\"x\":0.0208,\"y\":270.0027,\"z\":0.0168}},\"c9c916\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2788,\"z\":66.8742},\"rot\":{\"x\":0.0208,\"y\":270.0125,\"z\":0.0168}},\"ca55a3\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2863,\"z\":87.5596},\"rot\":{\"x\":0.0208,\"y\":270.0103,\"z\":0.0168}},\"cad5d5\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2831,\"z\":84.7133},\"rot\":{\"x\":0.0208,\"y\":270.0192,\"z\":0.0168}},\"cc2723\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2784,\"z\":68.6133},\"rot\":{\"x\":0.0208,\"y\":270.0134,\"z\":0.0168}},\"ce6e77\":{\"lock\":false,\"pos\":{\"x\":22.669,\"y\":1.2957,\"z\":87.435},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"cf1b06\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.3073,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0413,\"z\":0.0168}},\"d40f7c\":{\"lock\":false,\"pos\":{\"x\":22.669,\"y\":1.297,\"z\":92.035},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"d490f4\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2856,\"z\":94.4616},\"rot\":{\"x\":0.0208,\"y\":269.9772,\"z\":0.0168}},\"d49971\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.2749,\"z\":66.8496},\"rot\":{\"x\":0.0208,\"y\":270.0309,\"z\":0.0168}},\"d8c089\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2829,\"z\":80.6744},\"rot\":{\"x\":0.0208,\"y\":270.0127,\"z\":0.0168}},\"d90685\":{\"lock\":false,\"pos\":{\"x\":-5.4322,\"y\":1.2836,\"z\":92.1496},\"rot\":{\"x\":0.0208,\"y\":270.0153,\"z\":0.0168}},\"d921bc\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2945,\"z\":92.2358},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"dabd8d\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.2823,\"z\":92.1496},\"rot\":{\"x\":0.0208,\"y\":270.0178,\"z\":0.0168}},\"db5369\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2842,\"z\":85.2744},\"rot\":{\"x\":0.0208,\"y\":269.9992,\"z\":0.0168}},\"dba2a6\":{\"lock\":false,\"pos\":{\"x\":-5.4323,\"y\":1.2762,\"z\":66.8496},\"rot\":{\"x\":0.0208,\"y\":269.9579,\"z\":0.0168}},\"dda3dc\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.305,\"z\":-84.818},\"rot\":{\"x\":0.0208,\"y\":270.0212,\"z\":0.0168}},\"ddcdcc\":{\"lock\":false,\"pos\":{\"x\":25.9559,\"y\":1.2969,\"z\":87.4343},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"dedfbb\":{\"lock\":false,\"pos\":{\"x\":22.669,\"y\":1.2977,\"z\":94.335},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"df828a\":{\"lock\":false,\"pos\":{\"x\":15.565,\"y\":1.2905,\"z\":78.4206},\"rot\":{\"x\":0.0208,\"y\":269.9646,\"z\":0.0168}},\"e10b00\":{\"lock\":false,\"pos\":{\"x\":-0.7817,\"y\":1.2791,\"z\":70.9133},\"rot\":{\"x\":0.0208,\"y\":270.0049,\"z\":0.0168}},\"e1f933\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2775,\"z\":66.8616},\"rot\":{\"x\":0.0208,\"y\":269.9755,\"z\":0.0168}},\"e4f0d2\":{\"lock\":false,\"pos\":{\"x\":15.5652,\"y\":1.2911,\"z\":80.7358},\"rot\":{\"x\":0.0208,\"y\":269.9763,\"z\":0.0168}},\"e5ebfc\":{\"lock\":false,\"pos\":{\"x\":-5.4323,\"y\":1.2769,\"z\":69.1496},\"rot\":{\"x\":0.0208,\"y\":270.0253,\"z\":0.0168}},\"e94aa3\":{\"lock\":false,\"pos\":{\"x\":9.1791,\"y\":1.2889,\"z\":92.162},\"rot\":{\"x\":0.0208,\"y\":269.9738,\"z\":0.0168}},\"e9746a\":{\"lock\":false,\"pos\":{\"x\":-8.9914,\"y\":1.283,\"z\":94.459},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"e9d7dc\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2762,\"z\":62.2617},\"rot\":{\"x\":0.0208,\"y\":269.9798,\"z\":0.0168}},\"ee3b9e\":{\"lock\":false,\"pos\":{\"x\":-4.3259,\"y\":1.2839,\"z\":91.6253},\"rot\":{\"x\":0.0208,\"y\":270.0003,\"z\":0.0168}},\"f20025\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2856,\"z\":89.8744},\"rot\":{\"x\":0.0208,\"y\":270.0287,\"z\":0.0168}},\"f424b5\":{\"lock\":false,\"pos\":{\"x\":-19.2956,\"y\":1.3099,\"z\":-76.9414},\"rot\":{\"x\":0.0208,\"y\":269.9008,\"z\":0.0167}},\"f52130\":{\"lock\":false,\"pos\":{\"x\":19.4901,\"y\":1.2945,\"z\":87.4494},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"f5d683\":{\"lock\":false,\"pos\":{\"x\":-8.9869,\"y\":1.2769,\"z\":73.7496},\"rot\":{\"x\":0.0208,\"y\":270.0284,\"z\":0.0168}},\"f5dde8\":{\"lock\":false,\"pos\":{\"x\":-12.6025,\"y\":1.281,\"z\":92.1235},\"rot\":{\"x\":0.0208,\"y\":269.9702,\"z\":0.0168}},\"f67bb7\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2768,\"z\":64.5617},\"rot\":{\"x\":0.0208,\"y\":269.975,\"z\":0.0168}},\"f81d7c\":{\"lock\":false,\"pos\":{\"x\":-8.987,\"y\":1.2756,\"z\":69.1496},\"rot\":{\"x\":0.0208,\"y\":270.034,\"z\":0.0168}},\"f91daf\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2836,\"z\":82.9744},\"rot\":{\"x\":0.0208,\"y\":270.0137,\"z\":0.0168}},\"facdd4\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2815,\"z\":76.0744},\"rot\":{\"x\":0.0208,\"y\":270.0117,\"z\":0.0168}},\"fc5916\":{\"lock\":false,\"pos\":{\"x\":5.6423,\"y\":1.2789,\"z\":62.2596},\"rot\":{\"x\":0.0208,\"y\":269.9967,\"z\":0.0168}},\"fd5d1b\":{\"lock\":false,\"pos\":{\"x\":-5.4323,\"y\":1.2755,\"z\":64.5497},\"rot\":{\"x\":0.0208,\"y\":270.0133,\"z\":0.0168}},\"fd989b\":{\"lock\":false,\"pos\":{\"x\":1.7635,\"y\":1.2822,\"z\":78.3744},\"rot\":{\"x\":0.0208,\"y\":270.0119,\"z\":0.0168}},\"fe6cd0\":{\"lock\":false,\"pos\":{\"x\":-11.4337,\"y\":1.2793,\"z\":84.7133},\"rot\":{\"x\":0.0208,\"y\":270.0186,\"z\":0.0168}},\"feac86\":{\"lock\":false,\"pos\":{\"x\":-1.8791,\"y\":1.2836,\"z\":87.5616},\"rot\":{\"x\":0.0208,\"y\":269.9852,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "991ff9", - "Name": "Custom_Model", - "Transform": { - "posX": -21.835, - "posY": 1.973, - "posZ": 81.635, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Idol Thoughts Custom Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_idol_thoughts.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1011563111884720834/103D38A8FBBFA64EB66439667F8775B15FC679C9/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"057e04\":{\"lock\":false,\"pos\":{\"x\":-16.6395988464355,\"y\":1.31085813045502,\"z\":-76.9456481933594},\"rot\":{\"x\":0.0208098888397217,\"y\":269.999450683594,\"z\":0.0167720001190901}},\"06fcb2\":{\"lock\":false,\"pos\":{\"x\":-22.6157550811768,\"y\":1.3256413936615,\"z\":-76.9460372924805},\"rot\":{\"x\":0.020808782428503,\"y\":270.000274658203,\"z\":0.0167717132717371}},\"08ab92\":{\"lock\":false,\"pos\":{\"x\":-19.2936096191406,\"y\":1.30989539623261,\"z\":-76.9415512084961},\"rot\":{\"x\":0.0208085216581821,\"y\":270.000030517578,\"z\":0.0167711414396763}},\"212311\":{\"lock\":false,\"pos\":{\"x\":-22.6156845092773,\"y\":1.32794523239136,\"z\":-69.0756072998047},\"rot\":{\"x\":0.0208083000034094,\"y\":269.999816894531,\"z\":0.0167704597115517}},\"3c216d\":{\"lock\":false,\"pos\":{\"x\":-16.6402435302734,\"y\":1.30855345726013,\"z\":-84.8182067871094},\"rot\":{\"x\":0.0208111256361008,\"y\":269.999206542969,\"z\":0.0167727693915367}},\"55809d\":{\"lock\":false,\"pos\":{\"x\":-19.3000640869141,\"y\":1.31449115276337,\"z\":-61.2332420349121},\"rot\":{\"x\":0.0208084266632795,\"y\":269.999938964844,\"z\":0.0167710799723864}},\"600e41\":{\"lock\":false,\"pos\":{\"x\":-22.6139163970947,\"y\":1.33252322673798,\"z\":-53.4381370544434},\"rot\":{\"x\":0.0208081752061844,\"y\":270.001251220703,\"z\":0.0167707018554211}},\"6011c1\":{\"lock\":false,\"pos\":{\"x\":-22.61696434021,\"y\":1.33023798465729,\"z\":-61.2413864135742},\"rot\":{\"x\":0.0208087377250195,\"y\":269.999908447266,\"z\":0.016770888119936}},\"6e7ea8\":{\"lock\":false,\"pos\":{\"x\":-19.295877456665,\"y\":1.31220149993896,\"z\":-69.0607070922852},\"rot\":{\"x\":0.0208094604313374,\"y\":270,\"z\":0.0167710334062576}},\"b1256b\":{\"lock\":false,\"pos\":{\"x\":-16.6400871276855,\"y\":1.31545794010162,\"z\":-61.2309913635254},\"rot\":{\"x\":0.0208090264350176,\"y\":269.998779296875,\"z\":0.0167700741440058}},\"c72bdd\":{\"lock\":false,\"pos\":{\"x\":-16.6400699615479,\"y\":1.31775283813477,\"z\":-53.3904228210449},\"rot\":{\"x\":0.0208091754466295,\"y\":269.999816894531,\"z\":0.0167703349143267}},\"d2913a\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.31316590309143,\"z\":-69.0603103637695},\"rot\":{\"x\":0.020810903981328,\"y\":270,\"z\":0.0167728774249554}},\"ecaa8c\":{\"lock\":false,\"pos\":{\"x\":-19.2997856140137,\"y\":1.30758762359619,\"z\":-84.8181838989258},\"rot\":{\"x\":0.0208093598484993,\"y\":270,\"z\":0.0167709905654192}},\"f89508\":{\"lock\":false,\"pos\":{\"x\":-19.3000202178955,\"y\":1.31677353382111,\"z\":-53.4358367919922},\"rot\":{\"x\":0.0208089053630829,\"y\":270.000122070313,\"z\":0.0167711284011602}},\"f9d436\":{\"lock\":false,\"pos\":{\"x\":-22.6169204711914,\"y\":1.32333660125732,\"z\":-84.8185119628906},\"rot\":{\"x\":0.0208087246865034,\"y\":270.000030517578,\"z\":0.0167713966220617}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "c19cfa", - "Name": "Custom_Model", - "Transform": { - "posX": -47.192, - "posY": 2.828, - "posZ": -121.341, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.96, - "scaleY": 0.27, - "scaleZ": 0.96 - }, - "Nickname": "The Ghosts Of Onigawa (Investigator Expansion)", - "Description": "https://arkham.cards", - "GMNotes": "fancreations/investigators_onigawa.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "https://dl.airtable.com/.attachmentThumbnails/e9dd0f33f26dcf0a628d962e0806de04/b41b19e1", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,6}, rotation={0,0,0}, height=500, width=1600,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "33272e", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.978, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Gender Swapped Investigators", - "Description": "By /u/corpboy", - "GMNotes": "fancreations/investigators_gender_swapped.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1597044073919531303/A7A92208CADC509C2546E65242ADDC8EF88FEAB8/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"169f5f\":{\"lock\":false,\"pos\":{\"x\":-19.3000202178955,\"y\":1.35298359394073,\"z\":-53.4358367919922},\"rot\":{\"x\":0.02080955542624,\"y\":270.001556396484,\"z\":0.0167712271213531}},\"1abe52\":{\"lock\":false,\"pos\":{\"x\":-19.2997913360596,\"y\":1.34861159324646,\"z\":-84.8181838989258},\"rot\":{\"x\":0.020808843895793,\"y\":270.000122070313,\"z\":0.0167707651853561}},\"23ea9a\":{\"lock\":false,\"pos\":{\"x\":-16.6402473449707,\"y\":1.3495774269104,\"z\":-84.8182144165039},\"rot\":{\"x\":0.0208143834024668,\"y\":269.999816894531,\"z\":0.0167734380811453}},\"260c46\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.34937584400177,\"z\":-69.0603103637695},\"rot\":{\"x\":0.0208140630275011,\"y\":270.000244140625,\"z\":0.0167755950242281}},\"6b77d7\":{\"lock\":false,\"pos\":{\"x\":-16.8499145507813,\"y\":1.30698132514954,\"z\":-91.5999984741211},\"rot\":{\"x\":0.0208082087337971,\"y\":270.000122070313,\"z\":0.0167680568993092}},\"6be340\":{\"lock\":false,\"pos\":{\"x\":-19.3000755310059,\"y\":1.35551571846008,\"z\":-61.2332572937012},\"rot\":{\"x\":0.0208098944276571,\"y\":269.999114990234,\"z\":0.0167708061635494}},\"77ba63\":{\"lock\":false,\"pos\":{\"x\":-22.6157627105713,\"y\":1.3086873292923,\"z\":-76.946044921875},\"rot\":{\"x\":0.0208086930215359,\"y\":270.000091552734,\"z\":0.0167710520327091}},\"7c3d2e\":{\"lock\":false,\"pos\":{\"x\":-19.293607711792,\"y\":1.35573351383209,\"z\":-76.9415588378906},\"rot\":{\"x\":0.0208112671971321,\"y\":269.999816894531,\"z\":0.0167707577347755}},\"7d5120\":{\"lock\":false,\"pos\":{\"x\":-22.6139030456543,\"y\":1.31556940078735,\"z\":-53.4381294250488},\"rot\":{\"x\":0.0208085980266333,\"y\":270.000030517578,\"z\":180.01676940918}},\"981000\":{\"lock\":false,\"pos\":{\"x\":-16.6400699615479,\"y\":1.35396289825439,\"z\":-53.3904228210449},\"rot\":{\"x\":0.0208099316805601,\"y\":270.000030517578,\"z\":0.0167689602822065}},\"b5091c\":{\"lock\":false,\"pos\":{\"x\":-26.3147144317627,\"y\":1.30734384059906,\"z\":-76.9476318359375},\"rot\":{\"x\":0.0208098907023668,\"y\":269.99560546875,\"z\":0.0167696326971054}},\"c61dd3\":{\"lock\":false,\"pos\":{\"x\":-16.6400871276855,\"y\":1.3564817905426,\"z\":-61.2309913635254},\"rot\":{\"x\":0.0208104159682989,\"y\":269.999847412109,\"z\":0.0167675204575062}},\"d8bab9\":{\"lock\":false,\"pos\":{\"x\":-19.2999992370605,\"y\":1.32235062122345,\"z\":-91.5984573364258},\"rot\":{\"x\":0.0208081062883139,\"y\":270.000061035156,\"z\":0.0167712885886431}},\"e22086\":{\"lock\":false,\"pos\":{\"x\":-16.6396045684814,\"y\":1.35669600963593,\"z\":-76.9456558227539},\"rot\":{\"x\":0.0208145752549171,\"y\":269.999847412109,\"z\":0.0167776327580214}},\"eff7e4\":{\"lock\":false,\"pos\":{\"x\":-19.2958831787109,\"y\":1.3484114408493,\"z\":-69.0607070922852},\"rot\":{\"x\":0.0208063907921314,\"y\":270.008483886719,\"z\":0.016773846000433}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "7fa06f", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.978, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Fortune or Folly - Parallel Rex Murphy Set", - "Description": "By Davi", - "GMNotes": "fancreations/investigators_fortune_or_folly_parallel_rex.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1746802526940892011/A775E42F9014CD75B091D7D060012681E58B906E/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"0f3a96\":{\"lock\":false,\"pos\":{\"x\":-34.2316,\"y\":1.6326,\"z\":11.6933},\"rot\":{\"x\":359.9554,\"y\":224.9998,\"z\":0.0684}},\"22a929\":{\"lock\":false,\"pos\":{\"x\":-3.956,\"y\":1.5975,\"z\":-10.4412},\"rot\":{\"x\":359.9197,\"y\":270,\"z\":0.0168}},\"24e42d\":{\"lock\":false,\"pos\":{\"x\":-36.7734,\"y\":1.6418,\"z\":-15.28},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":0.0168}},\"2c6d3b\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6417,\"z\":15.19},\"rot\":{\"x\":359.9201,\"y\":269.9998,\"z\":0.0168}},\"2dfd79\":{\"lock\":false,\"pos\":{\"x\":-36.7731,\"y\":1.6361,\"z\":11.46},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":0.0799}},\"3359db\":{\"lock\":false,\"pos\":{\"x\":-32.8963,\"y\":1.624,\"z\":-11.1805},\"rot\":{\"x\":359.9316,\"y\":314.9998,\"z\":359.9554}},\"360107\":{\"lock\":false,\"pos\":{\"x\":-4.244,\"y\":1.6416,\"z\":15.0067},\"rot\":{\"x\":359.9197,\"y\":270.0001,\"z\":180.0168}},\"392d3e\":{\"lock\":false,\"pos\":{\"x\":-36.7731,\"y\":1.6486,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":269.9977,\"z\":0.0168}},\"3943d5\":{\"lock\":false,\"pos\":{\"x\":-4.0346,\"y\":1.4838,\"z\":-23.4806},\"rot\":{\"x\":359.9316,\"y\":315.0011,\"z\":359.9554}},\"3a4050\":{\"lock\":false,\"pos\":{\"x\":-27.2281,\"y\":1.6228,\"z\":11.3825},\"rot\":{\"x\":359.9316,\"y\":315.0001,\"z\":359.9554}},\"3b60c1\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6258,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":270.0091,\"z\":0.0169}},\"41625c\":{\"lock\":false,\"pos\":{\"x\":-12.2031,\"y\":1.6162,\"z\":14.0413},\"rot\":{\"x\":359.9201,\"y\":270.0175,\"z\":0.0168}},\"4fe831\":{\"lock\":false,\"pos\":{\"x\":-33.3589,\"y\":1.6235,\"z\":-15.1968},\"rot\":{\"x\":359.9201,\"y\":270.0001,\"z\":0.0169}},\"551d28\":{\"lock\":false,\"pos\":{\"x\":2.454,\"y\":1.4721,\"z\":-32.3421},\"rot\":{\"x\":359.9316,\"y\":315.0011,\"z\":359.9554}},\"5c0e2e\":{\"lock\":false,\"pos\":{\"x\":0.2701,\"y\":1.4896,\"z\":28.7803},\"rot\":{\"x\":359.9201,\"y\":269.9994,\"z\":0.0169}},\"62791a\":{\"lock\":false,\"pos\":{\"x\":-27.001,\"y\":1.6202,\"z\":3.6619},\"rot\":{\"x\":359.9554,\"y\":225,\"z\":0.0684}},\"7234af\":{\"lock\":false,\"pos\":{\"x\":-33.4277,\"y\":1.6269,\"z\":-3.8532},\"rot\":{\"x\":359.9554,\"y\":224.9966,\"z\":0.0684}},\"83d7bb\":{\"lock\":false,\"pos\":{\"x\":-4.2243,\"y\":1.4816,\"z\":-31.8957},\"rot\":{\"x\":359.9316,\"y\":315.0004,\"z\":359.9554}},\"8984ad\":{\"lock\":false,\"pos\":{\"x\":-23.6768,\"y\":1.6258,\"z\":-7.7},\"rot\":{\"x\":359.9201,\"y\":270.0192,\"z\":0.0168}},\"899c2c\":{\"lock\":false,\"pos\":{\"x\":-36.7733,\"y\":1.6508,\"z\":15.19},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":0.0168}},\"93422e\":{\"lock\":false,\"pos\":{\"x\":-12.0801,\"y\":1.6416,\"z\":10.7578},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":0.0799}},\"9c140b\":{\"lock\":false,\"pos\":{\"x\":-26.7676,\"y\":1.6177,\"z\":-3.8214},\"rot\":{\"x\":359.9316,\"y\":314.9779,\"z\":359.9554}},\"9c6651\":{\"lock\":false,\"pos\":{\"x\":-30.2218,\"y\":1.6213,\"z\":-7.699},\"rot\":{\"x\":359.9203,\"y\":269.5397,\"z\":0.0175}},\"a45247\":{\"lock\":false,\"pos\":{\"x\":1.6961,\"y\":1.5583,\"z\":14.2788},\"rot\":{\"x\":359.9551,\"y\":224.998,\"z\":0.0687}},\"b6b9b7\":{\"lock\":false,\"pos\":{\"x\":-36.7732,\"y\":1.6441,\"z\":-7.7},\"rot\":{\"x\":359.9201,\"y\":269.9998,\"z\":0.0168}},\"c150be\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6303,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":269.9998,\"z\":0.0168}},\"c27718\":{\"lock\":false,\"pos\":{\"x\":-36.7732,\"y\":1.6294,\"z\":-11.51},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":0.08}},\"c7e9e3\":{\"lock\":false,\"pos\":{\"x\":-12.1603,\"y\":1.631,\"z\":7.0481},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":0.0168}},\"cc135d\":{\"lock\":false,\"pos\":{\"x\":-33.7965,\"y\":1.6331,\"z\":15.3121},\"rot\":{\"x\":359.9201,\"y\":270.0001,\"z\":0.0169}},\"d1bf92\":{\"lock\":false,\"pos\":{\"x\":-3.9276,\"y\":1.7444,\"z\":5.7577},\"rot\":{\"x\":359.9197,\"y\":269.9985,\"z\":180.0168}},\"d28cd1\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6372,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":269.9998,\"z\":0.0168}},\"d32960\":{\"lock\":false,\"pos\":{\"x\":-2.6886,\"y\":1.6143,\"z\":-5.0485},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":0.0803}},\"d51f74\":{\"lock\":false,\"pos\":{\"x\":-12.3273,\"y\":1.642,\"z\":10.8057},\"rot\":{\"x\":0.0169,\"y\":179.9845,\"z\":0.0799}},\"d5f792\":{\"lock\":false,\"pos\":{\"x\":-33.2551,\"y\":1.6289,\"z\":3.6656},\"rot\":{\"x\":359.9316,\"y\":315.0002,\"z\":359.9554}},\"d9882d\":{\"lock\":false,\"pos\":{\"x\":-27.011,\"y\":1.6157,\"z\":-11.771},\"rot\":{\"x\":359.9554,\"y\":225.0001,\"z\":0.0684}},\"e1e1c3\":{\"lock\":false,\"pos\":{\"x\":-2.7247,\"y\":1.599,\"z\":0.3733},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":0.0803}},\"e8fcf0\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6327,\"z\":-15.28},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":0.0168}},\"ec4a81\":{\"lock\":false,\"pos\":{\"x\":2.8296,\"y\":1.4739,\"z\":-24.3652},\"rot\":{\"x\":359.9316,\"y\":315.0031,\"z\":359.9554}}}}\r", - "XmlUI": "" - }, - { - "GUID": "84c153", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.963, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Elspeth Baudin Custom Investigator", - "Description": "By Donelloth. As Seen in Bad Blood!", - "GMNotes": "fancreations/investigators_elspeth_baudin.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1655599785039299268/52DB5C3A0E600D6AECB0B851ECF90C5B3D016421/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"1b6773\":{\"lock\":false,\"pos\":{\"x\":-19.5467624664307,\"y\":1.31306660175323,\"z\":-65.7938537597656},\"rot\":{\"x\":0.0208032466471195,\"y\":270.018371582031,\"z\":0.0167777892202139}},\"41424c\":{\"lock\":false,\"pos\":{\"x\":-22.5805168151855,\"y\":1.31255412101746,\"z\":-63.7807502746582},\"rot\":{\"x\":0.020810954272747,\"y\":269.991149902344,\"z\":0.0167674999684095}},\"647b40\":{\"lock\":false,\"pos\":{\"x\":-22.6028251647949,\"y\":1.31024301052094,\"z\":-71.6484832763672},\"rot\":{\"x\":0.0208107922226191,\"y\":269.991149902344,\"z\":0.016767431050539}},\"9a67bf\":{\"lock\":false,\"pos\":{\"x\":-22.6425685882568,\"y\":1.30951547622681,\"z\":-74.0846176147461},\"rot\":{\"x\":0.0208108704537153,\"y\":269.9912109375,\"z\":0.0167674385011196}},\"9e4397\":{\"lock\":false,\"pos\":{\"x\":-22.5964412689209,\"y\":1.31179511547089,\"z\":-66.3536529541016},\"rot\":{\"x\":0.0208110846579075,\"y\":269.99072265625,\"z\":0.0167671237140894}},\"d467b7\":{\"lock\":false,\"pos\":{\"x\":-19.7298603057861,\"y\":1.31206059455872,\"z\":-69.0034790039063},\"rot\":{\"x\":0.0207998398691416,\"y\":270.028869628906,\"z\":0.0167793389409781}},\"dd312f\":{\"lock\":false,\"pos\":{\"x\":-19.5082302093506,\"y\":1.31121933460236,\"z\":-72.1525039672852},\"rot\":{\"x\":0.0167680606245995,\"y\":179.991668701172,\"z\":359.979187011719}},\"e43300\":{\"lock\":false,\"pos\":{\"x\":-22.6156921386719,\"y\":1.31099140644073,\"z\":-69.0756149291992},\"rot\":{\"x\":0.0208105240017176,\"y\":269.993041992188,\"z\":0.0167687423527241}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "2e69d0", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.978, - "posZ": 81.007, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Don't Starve Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_dont_starve.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1646593716898209387/B827263B809A6C8E1042BDF1C8D33E58458C2EF4/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"049651\":{\"lock\":false,\"pos\":{\"x\":-39.9984016418457,\"y\":1.30796504020691,\"z\":-57.847900390625},\"rot\":{\"x\":0.0208088103681803,\"y\":269.999420166016,\"z\":0.0167709793895483}},\"05534d\":{\"lock\":false,\"pos\":{\"x\":-40.433277130127,\"y\":1.30174255371094,\"z\":-78.5659561157227},\"rot\":{\"x\":0.0208085998892784,\"y\":270.000030517578,\"z\":0.0167712327092886}},\"0b4057\":{\"lock\":false,\"pos\":{\"x\":-54.2104759216309,\"y\":1.29435074329376,\"z\":-86.7248611450195},\"rot\":{\"x\":0.0208057351410389,\"y\":270.009887695313,\"z\":0.0167745146900415}},\"0de265\":{\"lock\":false,\"pos\":{\"x\":-50.5162010192871,\"y\":1.30271863937378,\"z\":-62.7216987609863},\"rot\":{\"x\":0.0208138264715672,\"y\":269.981567382813,\"z\":0.0167644713073969}},\"10aa14\":{\"lock\":false,\"pos\":{\"x\":-40.0200996398926,\"y\":1.3072521686554,\"z\":-60.2564010620117},\"rot\":{\"x\":0.0208086967468262,\"y\":269.999725341797,\"z\":0.0167712494730949}},\"144811\":{\"lock\":false,\"pos\":{\"x\":-50.831672668457,\"y\":1.29631996154785,\"z\":-84.1897583007813},\"rot\":{\"x\":0.0208147037774324,\"y\":269.978698730469,\"z\":0.0167634543031454}},\"16e931\":{\"lock\":false,\"pos\":{\"x\":-54.2816009521484,\"y\":1.32870221138,\"z\":-60.0937995910645},\"rot\":{\"x\":0.0208068005740643,\"y\":270.006652832031,\"z\":0.0167733412235975}},\"181416\":{\"lock\":false,\"pos\":{\"x\":-47.2076797485352,\"y\":1.29929566383362,\"z\":-78.5202560424805},\"rot\":{\"x\":0.0208087675273418,\"y\":269.999847412109,\"z\":0.0167711023241282}},\"208789\":{\"lock\":false,\"pos\":{\"x\":-46.9576988220215,\"y\":1.30474603176117,\"z\":-60.2104988098145},\"rot\":{\"x\":0.0208103526383638,\"y\":269.993927001953,\"z\":0.0167688690125942}},\"23d08a\":{\"lock\":false,\"pos\":{\"x\":-43.5625,\"y\":1.30455183982849,\"z\":-65.0863037109375},\"rot\":{\"x\":0.0208085887134075,\"y\":270.000183105469,\"z\":0.0167711470276117}},\"2ab220\":{\"lock\":false,\"pos\":{\"x\":-54.1502075195313,\"y\":1.29681360721588,\"z\":-78.3857879638672},\"rot\":{\"x\":0.0208087991923094,\"y\":270.000122070313,\"z\":0.0167712289839983}},\"2e6779\":{\"lock\":false,\"pos\":{\"x\":-40.3589744567871,\"y\":1.29947459697723,\"z\":-86.4064559936523},\"rot\":{\"x\":0.0208109170198441,\"y\":269.992004394531,\"z\":0.0167681444436312}},\"374e9c\":{\"lock\":false,\"pos\":{\"x\":-50.3554992675781,\"y\":1.30513906478882,\"z\":-54.6520004272461},\"rot\":{\"x\":0.0208085868507624,\"y\":269.999969482422,\"z\":0.0167713407427073}},\"3b7f5e\":{\"lock\":false,\"pos\":{\"x\":-46.8041000366211,\"y\":1.30546891689301,\"z\":-57.9314002990723},\"rot\":{\"x\":0.0208088327199221,\"y\":269.999969482422,\"z\":0.0167714394629002}},\"415ff5\":{\"lock\":false,\"pos\":{\"x\":-54.3089752197266,\"y\":1.31680154800415,\"z\":-84.2695617675781},\"rot\":{\"x\":0.0208021737635136,\"y\":270.023040771484,\"z\":0.0167790465056896}},\"4506c2\":{\"lock\":false,\"pos\":{\"x\":-53.8877983093262,\"y\":1.30392014980316,\"z\":-54.4329986572266},\"rot\":{\"x\":0.0208087544888258,\"y\":269.999969482422,\"z\":0.0167711414396763}},\"4eef97\":{\"lock\":false,\"pos\":{\"x\":-46.9905014038086,\"y\":1.30403566360474,\"z\":-62.5960998535156},\"rot\":{\"x\":0.0208025723695755,\"y\":270.020385742188,\"z\":0.016778577119112}},\"5244b7\":{\"lock\":false,\"pos\":{\"x\":-47.1529731750488,\"y\":1.29834735393524,\"z\":-81.8277587890625},\"rot\":{\"x\":0.0208089258521795,\"y\":270.000457763672,\"z\":0.0167709905654192}},\"6006fa\":{\"lock\":false,\"pos\":{\"x\":-54.1425323486328,\"y\":1.29582250118256,\"z\":-81.781364440918},\"rot\":{\"x\":0.0208027269691229,\"y\":270.020263671875,\"z\":0.0167777054011822}},\"6187b2\":{\"lock\":false,\"pos\":{\"x\":-47.2170753479004,\"y\":1.29763412475586,\"z\":-84.1847610473633},\"rot\":{\"x\":0.0208086259663105,\"y\":270.000274658203,\"z\":0.0167711470276117}},\"682335\":{\"lock\":false,\"pos\":{\"x\":-54.2879981994629,\"y\":1.30139410495758,\"z\":-62.5666007995605},\"rot\":{\"x\":0.0208084508776665,\"y\":270.000030517578,\"z\":0.0167711470276117}},\"6f5590\":{\"lock\":false,\"pos\":{\"x\":-43.7762794494629,\"y\":1.30053281784058,\"z\":-78.5510559082031},\"rot\":{\"x\":0.0208086557686329,\"y\":270,\"z\":0.0167711842805147}},\"70de23\":{\"lock\":false,\"pos\":{\"x\":-50.7880744934082,\"y\":1.29562640190125,\"z\":-86.6133575439453},\"rot\":{\"x\":0.0208112765103579,\"y\":269.990905761719,\"z\":0.0167677998542786}},\"8d7ecb\":{\"lock\":false,\"pos\":{\"x\":-47.2175750732422,\"y\":1.29692459106445,\"z\":-86.6082611083984},\"rot\":{\"x\":0.0208085309714079,\"y\":270.000244140625,\"z\":0.0167712103575468}},\"8e009f\":{\"lock\":false,\"pos\":{\"x\":-43.7559013366699,\"y\":1.3065721988678,\"z\":-57.9441986083984},\"rot\":{\"x\":0.0208087880164385,\"y\":269.999633789063,\"z\":0.0167710371315479}},\"93503f\":{\"lock\":false,\"pos\":{\"x\":-50.5890769958496,\"y\":1.29805994033813,\"z\":-78.546760559082},\"rot\":{\"x\":0.0208088085055351,\"y\":269.999938964844,\"z\":0.0167711973190308}},\"a067d0\":{\"lock\":false,\"pos\":{\"x\":-40.1133995056152,\"y\":1.30650424957275,\"z\":-62.6950988769531},\"rot\":{\"x\":0.0208086110651493,\"y\":269.999755859375,\"z\":0.0167712140828371}},\"a96330\":{\"lock\":false,\"pos\":{\"x\":-50.5937004089355,\"y\":1.30409467220306,\"z\":-57.9240989685059},\"rot\":{\"x\":0.0208087433129549,\"y\":270.000122070313,\"z\":0.0167710352689028}},\"aea08f\":{\"lock\":false,\"pos\":{\"x\":-50.5124015808105,\"y\":1.30345153808594,\"z\":-60.2220993041992},\"rot\":{\"x\":0.0208103451877832,\"y\":269.993713378906,\"z\":0.01676887832582}},\"b54d99\":{\"lock\":false,\"pos\":{\"x\":-43.7377738952637,\"y\":1.29892361164093,\"z\":-84.0963592529297},\"rot\":{\"x\":0.0208086259663105,\"y\":270.000061035156,\"z\":0.0167712867259979}},\"b679ff\":{\"lock\":false,\"pos\":{\"x\":-50.6292724609375,\"y\":1.29708194732666,\"z\":-81.8374557495117},\"rot\":{\"x\":0.02080905623734,\"y\":270.000183105469,\"z\":0.0167706366628408}},\"ba6a4f\":{\"lock\":false,\"pos\":{\"x\":-43.7175750732422,\"y\":1.29820847511292,\"z\":-86.5645599365234},\"rot\":{\"x\":0.0208099484443665,\"y\":269.995758056641,\"z\":0.0167698338627815}},\"c91bbc\":{\"lock\":false,\"pos\":{\"x\":-39.9734992980957,\"y\":1.30901253223419,\"z\":-54.2999000549316},\"rot\":{\"x\":0.0208084303885698,\"y\":270.000366210938,\"z\":0.016771299764514}},\"c96866\":{\"lock\":false,\"pos\":{\"x\":-43.6356010437012,\"y\":1.30764770507813,\"z\":-54.418701171875},\"rot\":{\"x\":0.0208086762577295,\"y\":270,\"z\":0.0167712662369013}},\"c972bd\":{\"lock\":false,\"pos\":{\"x\":-53.9467010498047,\"y\":1.30288803577423,\"z\":-57.8862991333008},\"rot\":{\"x\":0.020808694884181,\"y\":270.000030517578,\"z\":0.0167707893997431}},\"d4879a\":{\"lock\":false,\"pos\":{\"x\":-40.2654724121094,\"y\":1.30021071434021,\"z\":-84.0074615478516},\"rot\":{\"x\":0.0208088830113411,\"y\":269.998901367188,\"z\":0.0167706571519375}},\"dab2b7\":{\"lock\":false,\"pos\":{\"x\":-43.6455993652344,\"y\":1.30521702766418,\"z\":-62.7103004455566},\"rot\":{\"x\":0.0208085291087627,\"y\":270,\"z\":0.0167709551751614}},\"dd39cd\":{\"lock\":false,\"pos\":{\"x\":-43.7768745422363,\"y\":1.29958915710449,\"z\":-81.7739562988281},\"rot\":{\"x\":0.0208089090883732,\"y\":270.000183105469,\"z\":0.0167705938220024}},\"dfc083\":{\"lock\":false,\"pos\":{\"x\":-43.4954986572266,\"y\":1.30599534511566,\"z\":-60.2380981445313},\"rot\":{\"x\":0.0208085048943758,\"y\":270,\"z\":0.0167709179222584}},\"e7003e\":{\"lock\":false,\"pos\":{\"x\":-40.5401725769043,\"y\":1.30076205730438,\"z\":-81.7831573486328},\"rot\":{\"x\":0.020809093490243,\"y\":270.000213623047,\"z\":0.0167709477245808}},\"ea2ee7\":{\"lock\":false,\"pos\":{\"x\":-46.9766998291016,\"y\":1.30641329288483,\"z\":-54.4903984069824},\"rot\":{\"x\":0.020808657631278,\"y\":270,\"z\":0.0167710781097412}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "84be1d", - "Name": "Custom_Model", - "Transform": { - "posX": -33.849, - "posY": 2.001, - "posZ": -87.567, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.36, - "scaleY": 0.28, - "scaleZ": 1.49 - }, - "Nickname": "Delta Green Convergence Custom Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_delta_green_convergence.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142900469/BDA1068C5A88459AE805540FE05B8092C4F8F392/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"03052d\":{\"lock\":false,\"pos\":{\"x\":-16.6400871276855,\"y\":1.31545794010162,\"z\":-61.2309913635254},\"rot\":{\"x\":0.0208080485463142,\"y\":270.002471923828,\"z\":0.0167713277041912}},\"0d7398\":{\"lock\":false,\"pos\":{\"x\":-19.2936096191406,\"y\":1.30989539623261,\"z\":-76.9415588378906},\"rot\":{\"x\":0.0208107028156519,\"y\":269.995147705078,\"z\":0.0167693216353655}},\"171e82\":{\"lock\":false,\"pos\":{\"x\":-22.6169109344482,\"y\":1.32333660125732,\"z\":-84.8184967041016},\"rot\":{\"x\":0.0208145696669817,\"y\":269.982055664063,\"z\":0.0167649257928133}},\"359a15\":{\"lock\":false,\"pos\":{\"x\":-16.6400699615479,\"y\":1.31775295734406,\"z\":-53.3904228210449},\"rot\":{\"x\":0.0208138208836317,\"y\":269.982574462891,\"z\":0.0167645756155252}},\"37589e\":{\"lock\":false,\"pos\":{\"x\":-22.6139087677002,\"y\":1.33252322673798,\"z\":-53.4381332397461},\"rot\":{\"x\":0.0208039656281471,\"y\":270.015686035156,\"z\":0.0167767275124788}},\"498a00\":{\"lock\":false,\"pos\":{\"x\":-16.6403007507324,\"y\":1.31316554546356,\"z\":-69.0603103637695},\"rot\":{\"x\":0.0208092965185642,\"y\":270.000244140625,\"z\":0.0167721156030893}},\"597c69\":{\"lock\":false,\"pos\":{\"x\":-16.6395988464355,\"y\":1.31085801124573,\"z\":-76.9456481933594},\"rot\":{\"x\":0.0208100099116564,\"y\":269.999908447266,\"z\":0.01677231118083}},\"6e601f\":{\"lock\":false,\"pos\":{\"x\":-19.3000774383545,\"y\":1.31449115276337,\"z\":-61.2332534790039},\"rot\":{\"x\":0.0208101477473974,\"y\":269.995147705078,\"z\":0.0167695451527834}},\"74db2c\":{\"lock\":false,\"pos\":{\"x\":-16.6402435302734,\"y\":1.30855345726013,\"z\":-84.8182067871094},\"rot\":{\"x\":0.0208147522062063,\"y\":269.981872558594,\"z\":0.0167650897055864}},\"76d8e1\":{\"lock\":false,\"pos\":{\"x\":-19.2997856140137,\"y\":1.30758762359619,\"z\":-84.8181838989258},\"rot\":{\"x\":0.0208103209733963,\"y\":269.995147705078,\"z\":0.0167695097625256}},\"acefbf\":{\"lock\":false,\"pos\":{\"x\":-19.3000202178955,\"y\":1.31677353382111,\"z\":-53.4358367919922},\"rot\":{\"x\":0.0208102278411388,\"y\":269.995147705078,\"z\":0.0167693123221397}},\"c45c7a\":{\"lock\":false,\"pos\":{\"x\":-22.6156978607178,\"y\":1.32794523239136,\"z\":-69.0756225585938},\"rot\":{\"x\":0.0208086371421814,\"y\":269.999908447266,\"z\":0.0167715176939964}},\"eb9311\":{\"lock\":false,\"pos\":{\"x\":-22.6169662475586,\"y\":1.33023798465729,\"z\":-61.2413864135742},\"rot\":{\"x\":0.0208078268915415,\"y\":270.002685546875,\"z\":0.016772011294961}},\"f1b636\":{\"lock\":false,\"pos\":{\"x\":-22.615758895874,\"y\":1.3256413936615,\"z\":-76.9460372924805},\"rot\":{\"x\":0.0208090450614691,\"y\":269.999298095703,\"z\":0.0167714692652225}},\"f64ead\":{\"lock\":false,\"pos\":{\"x\":-19.2958679199219,\"y\":1.31220149993896,\"z\":-69.0606918334961},\"rot\":{\"x\":0.0208100024610758,\"y\":269.995178222656,\"z\":0.0167694520205259}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "880860", - "Name": "Custom_Model", - "Transform": { - "posX": 19.669, - "posY": 2.25, - "posZ": -97.901, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Dead Space Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_dead_space.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1898848485543773146/5255CF70ED228D9C98E4C9F4F010577A77B5C46E/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"0e87e4\":{\"lock\":false,\"pos\":{\"x\":-19.2996,\"y\":1.3121,\"z\":-53.4354},\"rot\":{\"x\":0.0208,\"y\":270.0032,\"z\":0.0168}},\"31bcc4\":{\"lock\":false,\"pos\":{\"x\":-19.2931,\"y\":1.3052,\"z\":-76.9412},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"664a1f\":{\"lock\":false,\"pos\":{\"x\":-19.2954,\"y\":1.3075,\"z\":-69.0603},\"rot\":{\"x\":0.0208,\"y\":269.9912,\"z\":0.0168}},\"778b85\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.3661,\"z\":-69.0606},\"rot\":{\"x\":359.9792,\"y\":90,\"z\":359.9832}},\"a8b092\":{\"lock\":false,\"pos\":{\"x\":-18.4906,\"y\":1.3421,\"z\":-92.0345},\"rot\":{\"x\":0.0208,\"y\":269.996,\"z\":0.0168}},\"d008cb\":{\"lock\":false,\"pos\":{\"x\":-19.2989,\"y\":1.3029,\"z\":-84.8179},\"rot\":{\"x\":0.0208,\"y\":269.9994,\"z\":0.0168}},\"e9a591\":{\"lock\":false,\"pos\":{\"x\":-19.2996,\"y\":1.3098,\"z\":-61.2329},\"rot\":{\"x\":0.0208,\"y\":269.9969,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "524fbc", - "Name": "Custom_Model", - "Transform": { - "posX": -23.615, - "posY": 1.916, - "posZ": -135.631, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 0.14, - "scaleZ": 0.5 - }, - "Nickname": "Cartoon Investigators", - "Description": "", - "GMNotes": "fancreations/investigators_cartoon_funtime.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1785092789057549667/7230A58735443DF70B24F5BAFD93B4FBBC1B28D7/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,7}, rotation={0,0,0}, height=850, width=3300,\r\n font_size=700, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"04945b\":{\"lock\":false,\"pos\":{\"x\":-19.6592,\"y\":1.3154,\"z\":-57.5937},\"rot\":{\"x\":0.0208,\"y\":269.9937,\"z\":0.0168}},\"0636ab\":{\"lock\":false,\"pos\":{\"x\":-25.9113,\"y\":1.2681,\"z\":-79.7757},\"rot\":{\"x\":359.9792,\"y\":90.0033,\"z\":359.9832}},\"123caa\":{\"lock\":false,\"pos\":{\"x\":-22.4528,\"y\":1.3058,\"z\":-86.9656},\"rot\":{\"x\":0.0208,\"y\":270.0191,\"z\":0.0168}},\"14bef8\":{\"lock\":false,\"pos\":{\"x\":-22.5761,\"y\":1.3166,\"z\":-50.0492},\"rot\":{\"x\":0.0208,\"y\":270.0168,\"z\":0.0168}},\"20ff4c\":{\"lock\":false,\"pos\":{\"x\":-25.7759,\"y\":1.2746,\"z\":-57.6721},\"rot\":{\"x\":359.9792,\"y\":90.0001,\"z\":359.9832}},\"27a0b8\":{\"lock\":false,\"pos\":{\"x\":-19.5361,\"y\":1.3069,\"z\":-86.8433},\"rot\":{\"x\":0.0208,\"y\":269.9789,\"z\":0.0168}},\"287b34\":{\"lock\":false,\"pos\":{\"x\":-22.2417,\"y\":1.3059,\"z\":-86.9506},\"rot\":{\"x\":0.0208,\"y\":270.0191,\"z\":0.0168}},\"33566f\":{\"lock\":false,\"pos\":{\"x\":-22.594,\"y\":1.3121,\"z\":-65.4763},\"rot\":{\"x\":0.0208,\"y\":270.0115,\"z\":0.0168}},\"3446fd\":{\"lock\":false,\"pos\":{\"x\":-22.5687,\"y\":1.3143,\"z\":-57.8367},\"rot\":{\"x\":0.0208,\"y\":270.017,\"z\":0.0168}},\"46d9c7\":{\"lock\":false,\"pos\":{\"x\":-19.6502,\"y\":1.3131,\"z\":-65.5617},\"rot\":{\"x\":0.0208,\"y\":270.0117,\"z\":0.0168}},\"5b6db3\":{\"lock\":false,\"pos\":{\"x\":-22.4189,\"y\":1.3144,\"z\":-57.5627},\"rot\":{\"x\":0.0208,\"y\":270.017,\"z\":0.0168}},\"7200cf\":{\"lock\":false,\"pos\":{\"x\":-25.8249,\"y\":1.266,\"z\":-86.9147},\"rot\":{\"x\":359.9792,\"y\":89.9983,\"z\":359.9832}},\"73d2da\":{\"lock\":false,\"pos\":{\"x\":-25.9665,\"y\":1.2702,\"z\":-72.4131},\"rot\":{\"x\":359.9792,\"y\":89.9862,\"z\":359.9832}},\"7b0461\":{\"lock\":false,\"pos\":{\"x\":-19.5429,\"y\":1.3178,\"z\":-49.6959},\"rot\":{\"x\":0.0208,\"y\":270.003,\"z\":0.0168}},\"8a8776\":{\"lock\":false,\"pos\":{\"x\":-19.639,\"y\":1.3112,\"z\":-71.9966},\"rot\":{\"x\":0.0208,\"y\":269.9857,\"z\":0.0168}},\"948d48\":{\"lock\":false,\"pos\":{\"x\":-22.5272,\"y\":1.3166,\"z\":-50.0108},\"rot\":{\"x\":0.0208,\"y\":269.9997,\"z\":0.0168}},\"9ad519\":{\"lock\":false,\"pos\":{\"x\":-22.5767,\"y\":1.3101,\"z\":-72.195},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"9ceaf0\":{\"lock\":false,\"pos\":{\"x\":-25.6646,\"y\":1.2769,\"z\":-50.1079},\"rot\":{\"x\":359.9792,\"y\":89.9992,\"z\":359.9832}},\"a99c28\":{\"lock\":false,\"pos\":{\"x\":-22.5172,\"y\":1.3102,\"z\":-72.038},\"rot\":{\"x\":0.0208,\"y\":270.0114,\"z\":0.0168}},\"bccab4\":{\"lock\":false,\"pos\":{\"x\":-22.2837,\"y\":1.3081,\"z\":-79.3587},\"rot\":{\"x\":0.0208,\"y\":270.0239,\"z\":0.0168}},\"c1f881\":{\"lock\":false,\"pos\":{\"x\":-22.497,\"y\":1.308,\"z\":-79.5444},\"rot\":{\"x\":0.0208,\"y\":270.0158,\"z\":0.0168}},\"d213c3\":{\"lock\":false,\"pos\":{\"x\":-19.3052,\"y\":1.3092,\"z\":-79.339},\"rot\":{\"x\":0.0208,\"y\":270.0067,\"z\":0.0168}},\"dc27c7\":{\"lock\":false,\"pos\":{\"x\":-25.8464,\"y\":1.2723,\"z\":-65.495},\"rot\":{\"x\":359.9792,\"y\":89.9999,\"z\":359.9832}}}}\r", - "XmlUI": "" - }, - { - "GUID": "dd90c5", - "Name": "Custom_Model", - "Transform": { - "posX": 18.946, - "posY": 1.916, - "posZ": -135.806, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.18, - "scaleY": 0.45, - "scaleZ": 2.38 - }, - "Nickname": "Battle Goes On", - "Description": "by The Popest", - "GMNotes": "fancreations/investigators_battle_goes_on.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "https://i.imgur.com/F4W3qLq.jpg", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 0.735294163, - "g": 0.735294163, - "b": 0.735294163 - }, - "SpecularIntensity": 5.0, - "SpecularSharpness": 8.0, - "FresnelStrength": 0.7999996 - }, - "CastShadows": true - }, - "LuaScript": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"024a88\":{\"lock\":false,\"pos\":{\"x\":-26.3008,\"y\":1.2711,\"z\":-69.0611},\"rot\":{\"x\":359.9792,\"y\":89.9867,\"z\":359.9832}},\"06ba48\":{\"lock\":false,\"pos\":{\"x\":5.7548,\"y\":1.3231,\"z\":-63.0474},\"rot\":{\"x\":0.0208,\"y\":270.0127,\"z\":0.0168}},\"080508\":{\"lock\":false,\"pos\":{\"x\":-16.6234,\"y\":1.355,\"z\":-84.8014},\"rot\":{\"x\":0.0208,\"y\":269.9935,\"z\":0.0168}},\"104c1e\":{\"lock\":false,\"pos\":{\"x\":-16.6218,\"y\":1.3553,\"z\":-83.5247},\"rot\":{\"x\":0.0208,\"y\":269.9935,\"z\":0.0168}},\"112830\":{\"lock\":false,\"pos\":{\"x\":-26.3063,\"y\":1.2734,\"z\":-61.2118},\"rot\":{\"x\":359.9791,\"y\":89.8593,\"z\":359.9833}},\"13f8ae\":{\"lock\":false,\"pos\":{\"x\":5.7547,\"y\":1.3224,\"z\":-65.3523},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"196394\":{\"lock\":false,\"pos\":{\"x\":9.3938,\"y\":1.3224,\"z\":-69.9524},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"197103\":{\"lock\":false,\"pos\":{\"x\":-16.6228,\"y\":1.3573,\"z\":-76.9288},\"rot\":{\"x\":0.0208,\"y\":269.9872,\"z\":0.0168}},\"1c4e12\":{\"lock\":false,\"pos\":{\"x\":-16.6232,\"y\":1.3638,\"z\":-54.6039},\"rot\":{\"x\":0.0208,\"y\":270.0294,\"z\":0.0168}},\"23a0e7\":{\"lock\":false,\"pos\":{\"x\":9.3938,\"y\":1.321,\"z\":-74.5523},\"rot\":{\"x\":0.0208,\"y\":270.0085,\"z\":0.0168}},\"2f9839\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0168,\"y\":179.993,\"z\":359.9792}},\"321c5a\":{\"lock\":false,\"pos\":{\"x\":5.7547,\"y\":1.3204,\"z\":-72.2523},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"3bdb8f\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0168,\"y\":179.9718,\"z\":359.9792}},\"3d2067\":{\"lock\":false,\"pos\":{\"x\":-16.6232,\"y\":1.3645,\"z\":-52.1352},\"rot\":{\"x\":0.0208,\"y\":270.0295,\"z\":0.0168}},\"4225c0\":{\"lock\":false,\"pos\":{\"x\":2.1095,\"y\":1.3197,\"z\":-69.9524},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"488fe7\":{\"lock\":false,\"pos\":{\"x\":-16.6232,\"y\":1.3642,\"z\":-53.3736},\"rot\":{\"x\":0.0208,\"y\":270.0294,\"z\":0.0168}},\"52e670\":{\"lock\":false,\"pos\":{\"x\":-16.6233,\"y\":1.3619,\"z\":-61.2142},\"rot\":{\"x\":0.0208,\"y\":270.0109,\"z\":0.0168}},\"585744\":{\"lock\":false,\"pos\":{\"x\":-16.6235,\"y\":1.3576,\"z\":-75.6886},\"rot\":{\"x\":0.0208,\"y\":269.9872,\"z\":0.0168}},\"5b9142\":{\"lock\":false,\"pos\":{\"x\":5.7357,\"y\":1.3809,\"z\":-58.1501},\"rot\":{\"x\":359.9792,\"y\":89.999,\"z\":359.9832}},\"5bbf47\":{\"lock\":false,\"pos\":{\"x\":-16.6233,\"y\":1.3622,\"z\":-59.9842},\"rot\":{\"x\":0.0208,\"y\":270.0109,\"z\":0.0168}},\"5de79f\":{\"lock\":false,\"pos\":{\"x\":-16.6233,\"y\":1.3592,\"z\":-70.2738},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"621b3f\":{\"lock\":false,\"pos\":{\"x\":9.3938,\"y\":1.3244,\"z\":-63.0524},\"rot\":{\"x\":0.0208,\"y\":270.0085,\"z\":0.0168}},\"668b93\":{\"lock\":false,\"pos\":{\"x\":9.3938,\"y\":1.323,\"z\":-67.6524},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"68e686\":{\"lock\":false,\"pos\":{\"x\":-16.6226,\"y\":1.3546,\"z\":-86.0018},\"rot\":{\"x\":0.0208,\"y\":269.9935,\"z\":0.0168}},\"6999ce\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"763a27\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"77d5c3\":{\"lock\":false,\"pos\":{\"x\":5.7547,\"y\":1.321,\"z\":-69.9523},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"884c7e\":{\"lock\":false,\"pos\":{\"x\":2.1095,\"y\":1.3204,\"z\":-67.6524},\"rot\":{\"x\":0.0208,\"y\":270.0085,\"z\":0.0168}},\"909fa7\":{\"lock\":false,\"pos\":{\"x\":-16.6232,\"y\":1.3615,\"z\":-62.4441},\"rot\":{\"x\":0.0208,\"y\":270.0107,\"z\":0.0168}},\"91a0fc\":{\"lock\":false,\"pos\":{\"x\":2.1095,\"y\":1.3211,\"z\":-65.3524},\"rot\":{\"x\":0.0208,\"y\":270.0085,\"z\":0.0168}},\"9341d5\":{\"lock\":false,\"pos\":{\"x\":5.7547,\"y\":1.3197,\"z\":-74.5523},\"rot\":{\"x\":0.0208,\"y\":270.0087,\"z\":0.0168}},\"93d0b4\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"9725e1\":{\"lock\":false,\"pos\":{\"x\":-16.6233,\"y\":1.3599,\"z\":-67.8038},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"97f078\":{\"lock\":false,\"pos\":{\"x\":2.1095,\"y\":1.319,\"z\":-72.2524},\"rot\":{\"x\":0.0208,\"y\":270.0085,\"z\":0.0168}},\"a768fb\":{\"lock\":false,\"pos\":{\"x\":-26.3006,\"y\":1.2757,\"z\":-53.4371},\"rot\":{\"x\":359.9792,\"y\":89.9837,\"z\":359.9832}},\"a836d9\":{\"lock\":false,\"pos\":{\"x\":2.1095,\"y\":1.3184,\"z\":-74.5525},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"a9b4ce\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4381},\"rot\":{\"x\":0.0168,\"y\":179.9562,\"z\":359.9792}},\"a9d598\":{\"lock\":false,\"pos\":{\"x\":9.3938,\"y\":1.3217,\"z\":-72.2524},\"rot\":{\"x\":0.0208,\"y\":270.0085,\"z\":0.0168}},\"ac8f35\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3133,\"z\":-61.241},\"rot\":{\"x\":0.0168,\"y\":180.0202,\"z\":359.9792}},\"b041a2\":{\"lock\":false,\"pos\":{\"x\":5.7547,\"y\":1.3217,\"z\":-67.6523},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"b2b405\":{\"lock\":false,\"pos\":{\"x\":-26.3053,\"y\":1.2688,\"z\":-76.9457},\"rot\":{\"x\":359.9792,\"y\":89.9226,\"z\":359.9832}},\"bccf2a\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"d3dcdd\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"d4c471\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3282,\"z\":-84.8185},\"rot\":{\"x\":0.0168,\"y\":179.9697,\"z\":359.9792}},\"dde61c\":{\"lock\":false,\"pos\":{\"x\":2.1103,\"y\":1.3217,\"z\":-63.0467},\"rot\":{\"x\":0.0208,\"y\":270.0043,\"z\":0.0168}},\"e7550c\":{\"lock\":false,\"pos\":{\"x\":-16.6235,\"y\":1.3596,\"z\":-69.0435},\"rot\":{\"x\":0.0208,\"y\":269.9992,\"z\":0.0168}},\"f9f51a\":{\"lock\":false,\"pos\":{\"x\":-16.6233,\"y\":1.3569,\"z\":-78.1588},\"rot\":{\"x\":0.0208,\"y\":269.9872,\"z\":0.0168}},\"fd8d58\":{\"lock\":false,\"pos\":{\"x\":-26.298,\"y\":1.2665,\"z\":-84.819},\"rot\":{\"x\":359.9792,\"y\":89.9734,\"z\":359.9832}},\"ffcf21\":{\"lock\":false,\"pos\":{\"x\":9.3938,\"y\":1.3237,\"z\":-65.3524},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "0a1d16", - "Name": "Custom_Model", - "Transform": { - "posX": -22.821, - "posY": 2.225, - "posZ": -97.676, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 2.0, - "scaleY": 2.0, - "scaleZ": 2.0 - }, - "Nickname": "The Bad Batch", - "Description": "", - "GMNotes": "fancreations/investigators_bad_batch.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.02353, - "g": 0.00392, - "b": 0.02353, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/", - "NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 0, - "CastShadows": true - }, - "LuaScript": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,-1}, rotation={0,180,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "", - "XmlUI": "", - "PhysicsMaterial": { - "StaticFriction": 0.6, - "DynamicFriction": 0.6, - "Bounciness": 0.0, - "FrictionCombine": 0, - "BounceCombine": 0 - }, - "Rigidbody": { - "Mass": 1.375, - "Drag": 5.0, - "AngularDrag": 5.0, - "UseGravity": true - } - }, - { - "GUID": "2f8332", - "Name": "Custom_Model", - "Transform": { - "posX": -34.314, - "posY": 2.001, - "posZ": -85.687, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Artifact Expansion 1.3", - "Description": "By Mint Tea Fan", - "GMNotes": "fancreations/investigators_artifact.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1799728983834465397/5B8C8FFC332DCC1F09FEA1617F0F3446F06821DB/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"0cd655\":{\"lock\":false,\"pos\":{\"x\":6.757,\"y\":1.3065,\"z\":-74.3312},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"1370f5\":{\"lock\":false,\"pos\":{\"x\":6.757,\"y\":1.3098,\"z\":-63.0812},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"9887f9\":{\"lock\":false,\"pos\":{\"x\":37.0815,\"y\":1.4527,\"z\":-38.1001},\"rot\":{\"x\":359.9181,\"y\":269.9817,\"z\":0.017}},\"bc9bc6\":{\"lock\":false,\"pos\":{\"x\":6.6076,\"y\":1.3136,\"z\":-50.0096},\"rot\":{\"x\":0.0208,\"y\":270.0268,\"z\":0.0168}},\"defb26\":{\"lock\":false,\"pos\":{\"x\":6.757,\"y\":1.3082,\"z\":-68.7062},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"ec74df\":{\"lock\":false,\"pos\":{\"x\":6.757,\"y\":1.3115,\"z\":-57.4562},\"rot\":{\"x\":0.0208,\"y\":270.0008,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "ec74df", - "Name": "Custom_Model", - "Transform": { - "posX": -19.774, - "posY": 1.916, - "posZ": -106.215, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Aespa Investigators", - "Description": "Mint Tea Fan", - "GMNotes": "fancreations/investigators_aespa.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1862816781492027399/65707471C1DAF2E107F9ACDD28B5D65FDABBCE79/", - "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": "function onload(saved_data)\r\n createDownloadButton()\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make Download button\r\nfunction createDownloadButton()\r\n self.createButton({\r\n label=\"Download\", click_function=\"buttonClick_download\", function_owner=self,\r\n position={0,0.1,2.2}, rotation={0,0,0}, height=240, width=800,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by download button,\r\nfunction buttonClick_download()\r\n local params = { url = self.getGMNotes(), replace = self.guid }\r\n Global.call('placeholder_download', params)\r\nend\r", - "LuaScriptState": "{\"ml\":{\"1696fd\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":269.9742,\"z\":0.0168}},\"19cce5\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3064,\"z\":-84.8185},\"rot\":{\"x\":0.0208,\"y\":269.9992,\"z\":0.0168}},\"3635a2\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3133,\"z\":-61.2414},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"3db376\":{\"lock\":false,\"pos\":{\"x\":-26.3,\"y\":1.3312,\"z\":-53.4368},\"rot\":{\"x\":0.0208,\"y\":269.9723,\"z\":0.0168}},\"6a6f2c\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":269.9791,\"z\":0.0168}},\"8ecf25\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":269.9789,\"z\":0.0168}},\"ab694b\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.3243,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":269.9892,\"z\":0.0168}},\"b0e5f7\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.3268,\"z\":-84.818},\"rot\":{\"x\":0.0208,\"y\":269.9915,\"z\":0.0168}},\"b1e673\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":269.9791,\"z\":0.0168}},\"b5eb52\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4381},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"b86f9a\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.3268,\"z\":-84.818},\"rot\":{\"x\":0.0208,\"y\":269.9919,\"z\":0.0168}},\"c8a9be\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":269.979,\"z\":0.0168}},\"e27b65\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0208,\"y\":269.9992,\"z\":0.0168}},\"f32428\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"f971bf\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.3314,\"z\":-69.0606},\"rot\":{\"x\":0.0208,\"y\":269.9661,\"z\":0.0168}},\"fcb70f\":{\"lock\":false,\"pos\":{\"x\":-26.3001,\"y\":1.3674,\"z\":-61.241},\"rot\":{\"x\":0.0208,\"y\":269.9671,\"z\":0.0168}}}}\r", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - } - ] - }, - { - "GUID": "66e97c", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -9.49219E-09, - "posY": 1.86649907, - "posZ": -55.0, - "rotX": 7.13733471E-07, - "rotY": 270.0, - "rotZ": -5.49103873E-08, - "scaleX": 1.76, - "scaleY": 0.11, - "scaleZ": 1.49 - }, - "Nickname": "Fan-Made Scenarios/Campaigns/Miscellany", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 0.9921699, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "http://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068588410888435/EDEEC5792F4161A1F125EF7F65AB1C1DC8FDBC27/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 4\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,1,-2}, rotation={0,0,0}, height=240, width=550,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-1.2,1,-2}, rotation={0,0,0}, height=240, width=570,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={-1.2,1,2}, rotation={0,0,0}, height=240, width=550,\r\n font_size=150, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,1,2}, rotation={0,0,0}, height=240, width=600,\r\n font_size=150, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={1.3,1,2}, rotation={0,0,0}, height=240, width=600,\r\n font_size=150, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={1.2,1,-2}, rotation={0,0,0}, height=240, width=500,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0.7,1,2}, rotation={0,0,0}, height=280, width=600,\r\n font_size=200, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-0.7,1,2}, rotation={0,0,0}, height=280, width=650,\r\n font_size=200, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,1,-2}, rotation={0,0,0}, height=240, width=500,\r\n font_size=150, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r", - "LuaScriptState": "{\"ml\":{\"5db60c\":{\"lock\":false,\"pos\":{\"x\":-9,\"y\":1.4815,\"z\":-50},\"rot\":{\"x\":0,\"y\":270.0001,\"z\":0}},\"89c32e\":{\"lock\":false,\"pos\":{\"x\":-9,\"y\":1.4815,\"z\":-60},\"rot\":{\"x\":0,\"y\":270.0001,\"z\":0}},\"b2077d\":{\"lock\":false,\"pos\":{\"x\":-9,\"y\":1.2965,\"z\":-55},\"rot\":{\"x\":0,\"y\":269.9973,\"z\":0}}}}\r", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "5db60c", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -9.0, - "posY": 1.481, - "posZ": -50.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 0.1, - "scaleZ": 0.5 - }, - "Nickname": "Fan-Made Standalone Scenarios", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068588410864087/97EBA1F7BA51181A664CE5A733AB092BA843E32D/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "{\"ml\":[]}", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "965030", - "Name": "Custom_Model", - "Transform": { - "posX": -55.358, - "posY": 6.299, - "posZ": -85.712, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Undying", - "Description": "", - "GMNotes": "fancreations/scenario_the_undying.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1824531491067739120/4AD2D51DAC6215F2866BB2AD15D47109B432B999/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "c90c49", - "Name": "Custom_Model", - "Transform": { - "posX": -11.013, - "posY": 1.624, - "posZ": 67.684, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Thing in the Woods", - "Description": "", - "GMNotes": "fancreations/scenario_the_thing_in_the_woods.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142949442/404A26E158B9EBC1069A5FBA9BA2331CBFD7851B/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "b7c6be", - "Name": "Custom_Model", - "Transform": { - "posX": -10.144, - "posY": 1.669, - "posZ": 67.991, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Symphony of Erich Zann", - "Description": "", - "GMNotes": "fancreations/scenario_symphony_of_erich_zann.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1254763972105175718/5A09C7E8EBCC79DD9E405FF6F83E49C2C27D5F29/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "7bc42b", - "Name": "Custom_Model", - "Transform": { - "posX": -10.243, - "posY": 1.625, - "posZ": 67.29, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Svalbard Event", - "Description": "", - "GMNotes": "fancreations/scenario_the_svalbard_event.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142948942/FA97D7EF94B715ADD1EEE40831114451FBED200B/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "695a4d", - "Name": "Custom_Model", - "Transform": { - "posX": -26.198, - "posY": 1.916, - "posZ": -120.925, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Strange Case of Dr. Jekyll and Mr. Hyde", - "Description": "", - "GMNotes": "fancreations/scenario_jekyll.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1845919769156839538/7ED48DF559525AF388EDAABCDEED4EE9D25E872A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "bfefd4", - "Name": "Custom_Model", - "Transform": { - "posX": -9.008, - "posY": 1.615, - "posZ": 66.398, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Stolen Baillius", - "Description": "", - "GMNotes": "fancreations/scenario_stolen_bacillus.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142943616/2B7B73A110A3EC225C854F85AB009F04859E3806/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "fa4327", - "Name": "Custom_Model", - "Transform": { - "posX": -11.088, - "posY": 1.624, - "posZ": 66.553, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Red Room", - "Description": "", - "GMNotes": "fancreations/scenario_the_red_room.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142946225/F5A6228957B37E945B425681115D09E7B8543BC6/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "504f38", - "Name": "Custom_Model", - "Transform": { - "posX": -9.37, - "posY": 1.625, - "posZ": 65.415, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Pensher Wyrm", - "Description": "", - "GMNotes": "fancreations/scenario_the_pensher_wyrm.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142945578/6BA34FBD61F7AD38DE8B2B9E5D5F067406B7CC77/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "3ddd12", - "Name": "Custom_Model", - "Transform": { - "posX": -9.291, - "posY": 1.625, - "posZ": 65.329, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Nephew Calls", - "Description": "", - "GMNotes": "fancreations/scenario_the_nephew_calls.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142940439/EE68DD668C18F8F8C61B0F2BABA6D548B17A6EA7/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "9d3083", - "Name": "Custom_Model", - "Transform": { - "posX": -10.526, - "posY": 1.625, - "posZ": 65.906, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.45, - "scaleZ": 2.42 - }, - "Nickname": "The Nameless City", - "Description": "", - "GMNotes": "fancreations/scenario_the_nameless_city.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1797477398306699180/7C5363FFCCDCD4A1AF2A0C71B2A7E5F96D5ACCA4/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "0500f1", - "Name": "Custom_Model", - "Transform": { - "posX": 7.669, - "posY": 3.37, - "posZ": -40.855, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Legend of Sleepy Hollow", - "Description": "", - "GMNotes": "fancreations/scenario_sleepy_hollow.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1617311203420460064/3D20A71D13F484BEEBCF572E827CD38FF3DF57E4/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "5ccf55", - "Name": "Custom_Model", - "Transform": { - "posX": -7.458, - "posY": 1.624, - "posZ": 64.612, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Grand Oak Hotel", - "Description": "", - "GMNotes": "fancreations/scenario_grand_oak_hotel.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142935568/34A42BC3AEF7764F8D7BB242DB08FD36B8EC6DCB/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "29d22a", - "Name": "Custom_Model", - "Transform": { - "posX": -9.309, - "posY": 1.625, - "posZ": 64.664, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Festival", - "Description": "", - "GMNotes": "fancreations/scenario_the_festival.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142936385/DCE942F9A1172E9C55A36E4593F5CDC71D9BC3AD/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "42bdd3", - "Name": "Custom_Model", - "Transform": { - "posX": 15.113, - "posY": 3.183, - "posZ": -58.666, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Fall of the House of Usher", - "Description": "", - "GMNotes": "fancreations/scenario_house_of_usher.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1771580824970152646/1C2D909AF92814C33B43D22F0EE1D6B8FD260998/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "238d6f", - "Name": "Custom_Model", - "Transform": { - "posX": -10.602, - "posY": 1.679, - "posZ": 64.245, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Facts in the Case of M. Valdemar", - "Description": "", - "GMNotes": "fancreations/scenario_valdemar.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1870695908503531344/DE3BBAD0CF8FCE5B05B8B18B44F049ECF06BCA5A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "0d7a8d", - "Name": "Custom_Model", - "Transform": { - "posX": -6.697, - "posY": 1.623, - "posZ": 66.348, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Curse of Amulotep", - "Description": "", - "GMNotes": "fancreations/scenario_the_curse_of_amulotep.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142921541/F138D6DF73FB79AC6D1C420869299A481AFA7B90/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "5b81ff", - "Name": "Custom_Model", - "Transform": { - "posX": -9.932, - "posY": 1.624, - "posZ": 64.798, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Colour out of Space", - "Description": "", - "GMNotes": "fancreations/scenario_color_out_of_space.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142919895/4026718A421BE11AC64320BE9BC2515B364D066E/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "9810eb", - "Name": "Custom_Model", - "Transform": { - "posX": -10.602, - "posY": 1.679, - "posZ": 64.245, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "The Collector", - "Description": "", - "GMNotes": "fancreations/scenario_the_collector.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142920786/52ED9B6276539BF3E1F332C363B21B3D7F6960AA/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "408301", - "Name": "Custom_Model", - "Transform": { - "posX": -11.225, - "posY": 1.624, - "posZ": 66.498, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Stranger Things", - "Description": "", - "GMNotes": "fancreations/scenario_stranger_things.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142948271/A763104B91306431654FBA9E3D88FE0E23CE6E6E/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "6defb8", - "Name": "Custom_Model", - "Transform": { - "posX": -9.063, - "posY": 1.626, - "posZ": 67.736, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Miskatonic Mouse", - "Description": "", - "GMNotes": "fancreations/scenario_miskatonic_mouse.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1620690956766119953/F8003A1B5AC39F2D2DABFF6D0AA2168CEC8BFA2C/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "94a1f8", - "Name": "Custom_Model", - "Transform": { - "posX": -10.843, - "posY": 1.622, - "posZ": 67.306, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "Masks of Nyarlathotep – New York", - "Description": "", - "GMNotes": "fancreations/scenario_masks_of_nyarlathotep.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142939810/7A53406FA1EFA9D556EF559B24A679E566114745/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "c6a1ca", - "Name": "Custom_Model", - "Transform": { - "posX": -9.756, - "posY": 1.625, - "posZ": 64.388, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "Last Call at Roxie's", - "Description": "An Android Universe crossover adventure", - "GMNotes": "fancreations/scenario_last_call_at_roxies.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142938527/354E6204BB01AED91EAEB19D99E4D95620F99C56/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "df62e8", - "Name": "Custom_Model", - "Transform": { - "posX": -8.954, - "posY": 1.625, - "posZ": 65.45, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "Knightfall", - "Description": "", - "GMNotes": "fancreations/scenario_knightfall.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142937041/3253F31B9483C3B5D0A98BA7E479E006FBF8D270/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "a61b48", - "Name": "Custom_Model", - "Transform": { - "posX": -7.721, - "posY": 1.625, - "posZ": 66.962, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Jenny's Choice", - "Description": "", - "GMNotes": "fancreations/scenario_jennys_choice.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/790858329422808079/1407B0AB89A9DBCFEE07A84A0979829556D84A78/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "68380c", - "Name": "Custom_Model", - "Transform": { - "posX": -10.332, - "posY": 1.625, - "posZ": 65.717, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "In Blackest Pits", - "Description": "", - "GMNotes": "fancreations/scenario_in_blackest_pits.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1016065907889320438/3DC5DD89D5DB56BE6EFDAC4A96E8063765576EA1/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "e7d9f8", - "Name": "Custom_Model", - "Transform": { - "posX": -9.661, - "posY": 1.626, - "posZ": 67.684, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Happy's Funhouse", - "Description": "", - "GMNotes": "fancreations/scenario_happys_funhouse.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142976303/C24C7169FD11E5D151DD2F754D5B9A5563D5DABB/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "7fa06f", - "Name": "Custom_Model", - "Transform": { - "posX": -9.336, - "posY": 1.625, - "posZ": 65.413, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Fortune or Folly - Parallel Rex Murphy Set", - "Description": "By Davi", - "GMNotes": "fancreations/scenario_fortune_or_folly.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1746802526940892011/A775E42F9014CD75B091D7D060012681E58B906E/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ffc7ef", - "Name": "Custom_Model", - "Transform": { - "posX": -10.844, - "posY": 1.624, - "posZ": 65.409, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Don't Starve", - "Description": "", - "GMNotes": "fancreations/scenario_dont_starve.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1646593716898209387/B827263B809A6C8E1042BDF1C8D33E58458C2EF4/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "ac164e", - "Name": "Custom_Model", - "Transform": { - "posX": -10.226, - "posY": 1.625, - "posZ": 66.493, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Delta Green Convergence", - "Description": "", - "GMNotes": "fancreations/scenario_delta_green.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142900469/BDA1068C5A88459AE805540FE05B8092C4F8F392/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "c6a612", - "Name": "Custom_Model", - "Transform": { - "posX": -9.268, - "posY": 1.626, - "posZ": 66.131, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Darkness Falls", - "Description": "", - "GMNotes": "fancreations/scenario_darkness_falls.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1487830597915523099/252BD2089F9DEF3F337BB8AE681939DE98C1EFA7/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "ec74df", - "Name": "Custom_Model", - "Transform": { - "posX": 28.565, - "posY": 2.713, - "posZ": -13.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 357.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Cosmic Pantheon", - "Description": "Mint Tea Fan & Hauke", - "GMNotes": "fancreations/scenario_cosmic_pantheon.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1844797993644656426/EC19A65BD3119D5FA229F502D65D1D8DAA9E0ECB/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "0ec730", - "Name": "Custom_Model", - "Transform": { - "posX": -9.232, - "posY": 1.658, - "posZ": 64.298, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Consternation on the Constellation", - "Description": "", - "GMNotes": "fancreations/scenario_consternation_on_the_constellation.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/762723517666349452/B8551E1479CED3BADEF4AF3B0A727EB7768C0289/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "e57017", - "Name": "Custom_Model", - "Transform": { - "posX": -8.964, - "posY": 1.624, - "posZ": 64.592, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Carnevale of Spiders", - "Description": "A Farkham-con Original. Requires 3 XP", - "GMNotes": "fancreations/scenario_carnevale_of_spiders.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1474319121422110285/8BA9D8C5CFA6D4E35DFC2077002CB2256DCFB2D7/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "578e97", - "Name": "Custom_Model", - "Transform": { - "posX": -8.301, - "posY": 1.625, - "posZ": 66.344, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "Bridge of Sighs", - "Description": "", - "GMNotes": "fancreations/scenario_bridge_of_sighs.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142919243/F3ED3E5B6B8725F536FCDA4FB2D40E1D11725037/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4237da", - "Name": "Custom_Model", - "Transform": { - "posX": -10.624, - "posY": 1.623, - "posZ": 65.302, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "Blood Spilled in Salem", - "Description": "", - "GMNotes": "fancreations/scenario_salem.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142918658/204E105211839B1E202E834F4A5C69E8E6A50A28/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "f1bfa2", - "Name": "Custom_Model", - "Transform": { - "posX": 59.762, - "posY": 3.398, - "posZ": -68.94, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Arkham Incidents", - "Description": "", - "GMNotes": "fancreations/scenario_incidents.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1865053883967763315/27C1F4299B5381DF5A40739696DC4CE6197D2BDC/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4d5fa0", - "Name": "Custom_Model", - "Transform": { - "posX": 20.297, - "posY": 1.808, - "posZ": 7.547, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Against the Wendigo", - "Description": "", - "GMNotes": "fancreations/scenario_wendigo.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142901599/7EE6EF24852C443DF5E92CF9498881E321CEE75A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - } - ] - }, - { - "GUID": "89c32e", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": -9.0, - "posY": 1.481, - "posZ": -60.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 0.5, - "scaleY": 0.1, - "scaleZ": 0.5 - }, - "Nickname": "Fan-Made Campaigns", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1758068588410858852/B3312EB929FDEF7CB2B88F98CD757950B919B147/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "{\"ml\":[]}", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "754057", - "Name": "Custom_Model", - "Transform": { - "posX": -20.939, - "posY": 1.614, - "posZ": 76.407, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Winter Winds", - "Description": "", - "GMNotes": "fancreations/campaign_winter_winds.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142974098/BF07864708BDE2804C0495637DDD55E85CC883EA/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "19d469", - "Name": "Custom_Model", - "Transform": { - "posX": -9.099, - "posY": 1.625, - "posZ": 67.407, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The War of the Worlds", - "Description": "", - "GMNotes": "fancreations/campaign_war_of_the_world.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1461933574036562700/261026F89C2322BF6390608AAB7DE43BEFB6240A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "2abdd6", - "Name": "Custom_Model", - "Transform": { - "posX": -9.015, - "posY": 1.627, - "posZ": 68.426, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Strange Aeons", - "Description": "A Pathfinder Adventure for Arkham Horror", - "GMNotes": "fancreations/campaign_strange_aeons.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142947772/120E2BA8DF8C4E2AAC9E059FA046CC3A6229ECDF/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "bba2b6", - "Name": "Custom_Model", - "Transform": { - "posX": -16.34, - "posY": 3.317, - "posZ": -73.441, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.0, - "scaleY": 0.11, - "scaleZ": 1.69 - }, - "Nickname": "The (Unofficial) Return to The Innsmouth Conspiracy ", - "Description": "v3", - "GMNotes": "fancreations/campaign_unofficial_return_to_tic.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27843 - }, - "LayoutGroupSortIndex": 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://pastebin.com/raw.php?i=uWAmuNZ2", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230436832/9485F353EEE9717261DC545E0AE772A33A9E7E73/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 2.0, - "scaleY": 2.0, - "scaleZ": 2.0 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "75fe78", - "Name": "Custom_Model", - "Transform": { - "posX": -9.739, - "posY": 1.626, - "posZ": 67.217, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Pokemon Eldritch Edition", - "Description": "", - "GMNotes": "fancreations/campaign_pokemon_eldrich_edition.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1597043896926982160/40A0068DAB05395205E184765110430CAADDA2CF/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "28e0a1", - "Name": "Custom_Model", - "Transform": { - "posX": -8.766, - "posY": 1.626, - "posZ": 70.116, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Parallel Universe", - "Description": "", - "GMNotes": "fancreations/campaign_parallel_universe.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142944953/7A5D3A94BF4A7798157C999A3E1CEAAFC3652CAC/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "3c175c", - "Name": "Custom_Model", - "Transform": { - "posX": -8.832, - "posY": 1.627, - "posZ": 67.762, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Outsider", - "Description": "", - "GMNotes": "fancreations/campaign_outsider.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142944372/7F67F8FDAD99C9C2A6A6A5E98C548681117D092C/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "608bea", - "Name": "Custom_Model", - "Transform": { - "posX": -9.515, - "posY": 1.626, - "posZ": 67.753, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Ordo Templi Orientis", - "Description": "", - "GMNotes": "fancreations/campaign_ordo_templi_orientis.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1017195498765395843/F0F85DBE17C72D5D09BD012DEDBB9E154EB07E7B/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "edb650", - "Name": "Custom_Model", - "Transform": { - "posX": -9.647, - "posY": 1.626, - "posZ": 69.454, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Of Sphinx and Sands", - "Description": "", - "GMNotes": "fancreations/campaign_of_sphinx_and_sands.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1705159936395227290/3E915F544AB47D63A4B1D05B0412216586EFA34A/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "aaceca", - "Name": "Custom_Model", - "Transform": { - "posX": -8.64, - "posY": 1.625, - "posZ": 66.443, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "North Country Cycle", - "Description": "", - "GMNotes": "fancreations/campaign_north_country_cycle.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142942211/3504BAF688D57DC30E7E1E2009A0FD4951D3BA58/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "79b36d", - "Name": "Custom_Model", - "Transform": { - "posX": -23.947, - "posY": 2.361, - "posZ": -59.241, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Machining A Mystery", - "Description": "", - "GMNotes": "fancreations/campaign_machining_a_mystery.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1860561550045252585/5B883A570DB12EF90E66C9AC83D48B64A397F27D/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "0f96ac", - "Name": "Custom_Model", - "Transform": { - "posX": -7.639, - "posY": 1.626, - "posZ": 68.545, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The London Set", - "Description": "", - "GMNotes": "fancreations/campaign_london_set.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142939236/70113DAB44263CD5EA5A0913B4325A57B8113A4C/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "acdf16", - "Name": "Custom_Model", - "Transform": { - "posX": -7.368, - "posY": 1.626, - "posZ": 68.075, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.2, - "scaleZ": 2.46 - }, - "Nickname": "Kiedy sny Stają się Rzeczywiścią", - "Description": "", - "GMNotes": "fancreations/campaign_kiedy_sny_staj%C4%85_si%C4%99_rzeczywi%C5%9Bci%C4%85.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142937909/81868D8E838249B9D5C467282B6EF12DC5879CA5/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "2df25a", - "Name": "Custom_Model", - "Transform": { - "posX": -7.323, - "posY": 1.626, - "posZ": 68.341, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Kaimonogatari", - "Description": "version 1.41", - "GMNotes": "fancreations/campaign_kaimonogatari.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1673610640345018565/0AFEB7913AD4F24AA04D2CB7DCD97106F58D33D9/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "b46db2", - "Name": "Custom_Model", - "Transform": { - "posX": 17.141, - "posY": 3.386, - "posZ": -31.21, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Jumanji", - "Description": "", - "GMNotes": "fancreations/campaign_jumanji.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1847049778276522891/B0F1D72796E5A43963B6EFA6B7FD870A89B139AF/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "019847", - "Name": "Custom_Model", - "Transform": { - "posX": -5.02, - "posY": 1.62, - "posZ": 70.208, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Into the Shadowlands", - "Description": "", - "GMNotes": "fancreations/campaign_into_the_shadowland.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142946871/EAA18FFE753B1ED020A9F3117E9654B093369D26/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "2d417b", - "Name": "Custom_Model", - "Transform": { - "posX": -7.851, - "posY": 1.626, - "posZ": 68.831, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Idol Thoughts", - "Description": "", - "GMNotes": "fancreations/campaign_idol_thoughts.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1011563111884720834/103D38A8FBBFA64EB66439667F8775B15FC679C9/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "b46db2", - "Name": "Custom_Model", - "Transform": { - "posX": -23.669, - "posY": 1.971, - "posZ": -108.203, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Half-Life", - "Description": "", - "GMNotes": "fancreations/campaign_half-life.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27843 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2005838229417815473/BC879D878262BA9FBD9040AE4F952468C3C4C2CC/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "8daa73", - "Name": "Custom_Model", - "Transform": { - "posX": -1.059, - "posY": 4.289, - "posZ": 4.033, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "The Ghosts Of Onigawa Campaign Expansion", - "Description": "", - "GMNotes": "fancreations/campaign_onigawa.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "LargeBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "https://uploads-ssl.webflow.com/608a6a98b5956379a9c9e768/60eb7c9fb63de7d60d8d67ec_boxart-defuse.png", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0f0680", - "Name": "Custom_Model", - "Transform": { - "posX": -9.202, - "posY": 1.629, - "posZ": 68.859, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Future Reflections", - "Description": "", - "GMNotes": "fancreations/campaign_future_reflections.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "LargeBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "https://i.imgur.com/T97bYDU.pnghttps://i.imgur.com/T97bYDU.png", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 0, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "691339", - "Name": "Custom_Model", - "Transform": { - "posX": 35.297, - "posY": 4.151, - "posZ": -6.402, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Essence of Humanity Campaign Box", - "Description": "", - "GMNotes": "fancreations/campaign_essence_of_humanity.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "LargeBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1823394900012495167/63C400A27475E745FF94F8837D7A8AECC7F837F4/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bcfff6", - "Name": "Custom_Model", - "Transform": { - "posX": -8.439, - "posY": 1.626, - "posZ": 68.396, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Dying Star", - "Description": "", - "GMNotes": "fancreations/campaign_dying_star.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142922162/AD09D68EC542F778CCA3A4F5B33E17EF50AFE31B/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "d713f4", - "Name": "Custom_Model", - "Transform": { - "posX": -8.253, - "posY": 1.626, - "posZ": 69.268, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Dark Matter", - "Description": "Final Release", - "GMNotes": "fancreations/campaign_dark_matter.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1699532377258479383/73EBF45477C1D927159E5993D99AD144641037EA/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "bc7fa7", - "Name": "Custom_Model", - "Transform": { - "posX": 36.927, - "posY": 2.295, - "posZ": -84.235, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Darkham Horror", - "Description": "", - "GMNotes": "fancreations/campaign_darkham_horror.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.39199, - "g": 0.39199, - "b": 0.39199 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1692775970051821718/827267BBD7EFBAD3EA384A5A04629B2E5BD88EE5/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "169eb9", - "Name": "Custom_Model", - "Transform": { - "posX": -7.513, - "posY": 1.625, - "posZ": 67.901, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Cyclopean Foundations", - "Description": "", - "GMNotes": "fancreations/campaign_cyclopean_foundations.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1746813422552975974/8FB3A4AF2D5A102720F630961A2270572ABA2317/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "7458b7", - "Name": "Custom_Model", - "Transform": { - "posX": -7.139, - "posY": 1.625, - "posZ": 68.797, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Crown of Egil", - "Description": "version 1.1", - "GMNotes": "fancreations/campaign_crown_of_egil.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "https://i.imgur.com/Vn2CXra.png", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "be7d21", - "Name": "Custom_Model", - "Transform": { - "posX": -37.697, - "posY": 3.218, - "posZ": -97.695, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Color Out of Oz", - "Description": "", - "GMNotes": "fancreations/campaign_color_out_of_oz.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.40592, - "g": 0.40592, - "b": 0.40592 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1972044023032948791/D32BECDAF5C9309577EE0CE585E980F62EFBCEF3/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": 0.0, - "posY": 0.0, - "posZ": 0.0, - "rotX": 270.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 2.0, - "scaleY": 2.0, - "scaleZ": 2.0 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4f5421", - "Name": "Custom_Model", - "Transform": { - "posX": -14.861, - "posY": 2.58, - "posZ": -72.355, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Close Encounters of the LV-426 Kind", - "Description": "lv426", - "GMNotes": "fancreations/campaign_close_encounters.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "LargeBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2018214163836048989/445ECEB6725E5387C41EEB8FBC69A3F247A5AD13/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "93b8cb", - "Name": "Custom_Model", - "Transform": { - "posX": -4.068, - "posY": 1.971, - "posZ": -123.425, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Circus Ex Mortis Campaign", - "Description": "", - "GMNotes": "fancreations/campaign_circus_ex_mortis.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27843 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2001337710389944099/BC4BADD35E9E87F6BC0BAC93F0FCEB168848AAAC/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "4d305a", - "Name": "Custom_Model", - "Transform": { - "posX": 26.688, - "posY": 5.16, - "posZ": -36.151, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Celtic Rising", - "Description": "5 Scenario Custom Cycle", - "GMNotes": "fancreations/campaign_celtic_rising.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": true, - "CustomMesh": { - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1754685726010541421/DC8223A713D02261326877B51FC717A9BAA217B8/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "613b64", - "Name": "Custom_Model", - "Transform": { - "posX": -6.243, - "posY": 1.624, - "posZ": 68.903, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Call of the Plaguebearer", - "Description": "", - "GMNotes": "fancreations/campaign_call_of_the_plaguebearer.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1767067672754132384/EBC8D780049D2612C6BC0603BD87E94769C34D19/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "24fb2b", - "Name": "Custom_Model", - "Transform": { - "posX": -9.282, - "posY": 2.682, - "posZ": -109.458, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Bloodborne - City of the Unseen", - "Description": "", - "GMNotes": "fancreations/campaign_bloodborne.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "LargeBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "https://i.imgur.com/WtioCq1.jpg", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ef939a", - "Name": "Custom_Model", - "Transform": { - "posX": 61.155, - "posY": 3.407, - "posZ": -57.217, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 0.14, - "scaleZ": 1.0 - }, - "Nickname": "Betrayal at the Mountains of Madness", - "Description": "", - "GMNotes": "fancreations/campaign_betrayal_at_mountains.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "Tags": [ - "LargeBox" - ], - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1479949766318759506/9BAB9C45ECB33AC5A0F83806B5EF79A6D89C1D31/", - "NormalURL": "", - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "ab6b9a", - "Name": "Custom_Model", - "Transform": { - "posX": -8.544, - "posY": 1.627, - "posZ": 69.136, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "The Approaching Storm", - "Description": "", - "GMNotes": "fancreations/campaign_approaching_storm.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/798737729142917748/FA44959693A82787BC34D6FA2487911AB24E619B/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "39916d", - "Name": "Custom_Model", - "Transform": { - "posX": 15.308, - "posY": 1.825, - "posZ": -2.201, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Alice in Wonderland", - "Description": "", - "GMNotes": "fancreations/campaign_alice_in_wonderland.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.27451 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1478823218929917964/80063921C2355FE26816A0E40F88D31F9EF5C4A6/", - "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": "-- 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)\nrequire(\"core/DownloadBox\")\nend)\n__bundle_register(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - }, - { - "GUID": "f7e5eb", - "Name": "Custom_Model", - "Transform": { - "posX": 18.626, - "posY": 1.849, - "posZ": 24.429, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Nickname": "Ages Unwound", - "Description": "", - "GMNotes": "fancreations/campaign_ages_unwound.json", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.40592, - "g": 0.40592, - "b": 0.40592 - }, - "LayoutGroupSortIndex": 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": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1811004822724765158/DE184EBA95BF16D06DC2528B30E9058A87C7567E/", - "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": "-- 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(\"core/DownloadBox\", function(require, _LOADED, __bundle_register, __bundle_modules)\nfunction onLoad()\r\n local notes = self.getGMNotes()\r\n\r\n -- default parameters (e.g. scenarios)\r\n local buttonParameters = {\r\n label = \"Download\",\r\n click_function = \"buttonClick_download\",\r\n function_owner = self,\r\n position = { x = 0, y = 0.1, z = 2.1 },\r\n height = 250,\r\n width = 800,\r\n font_size = 150,\r\n color = { 0, 0, 0 },\r\n font_color = { 1, 1, 1 }\r\n }\r\n\r\n -- return to boxes\r\n if string.match(notes, \"................\") == \"campaigns/return\" then\r\n buttonParameters.position.z = 2\r\n\r\n -- official campaign boxes\r\n elseif string.match(notes, \".........\") == \"campaigns\" or self.hasTag(\"LargeBox\") then\r\n buttonParameters.position.z = 6\r\n buttonParameters.height = 500\r\n buttonParameters.width = 1700\r\n buttonParameters.font_size = 350\r\n\r\n -- investigator boxes\r\n elseif string.match(notes, \".............\") == \"investigators\" then\r\n buttonParameters.position.z = 7\r\n buttonParameters.height = 850\r\n buttonParameters.width = 3400\r\n buttonParameters.font_size = 700\r\n end\r\n\r\n self.createButton(buttonParameters)\r\nend\r\n\r\nfunction buttonClick_download()\r\n Global.call('placeholder_download', { url = self.getGMNotes(), replace = self.guid })\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"core/DownloadBox\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedDecals": [ - { - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270.0, - "rotY": 359.869568, - "rotZ": 0.0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - }, - "CustomDecal": { - "Name": "dunwich_back", - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Size": 7.4 - } - } - ] - } - ] - }, - { - "GUID": "b2077d", - "Name": "Bag", - "Transform": { - "posX": -9.0, - "posY": 1.296, - "posZ": -55.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Secret Objectives & Ultimatums", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.0, - "g": 0.0, - "b": 0.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "5f3cba", - "Name": "Deck", - "Transform": { - "posX": 16.499, - "posY": 3.612, - "posZ": -39.144, - "rotX": 357.0, - "rotY": 270.0, - "rotZ": 185.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 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": [ - 33000, - 33001, - 33002, - 33003, - 33004, - 33005, - 33006, - 33007, - 33008, - 33009, - 33010, - 33011, - 33012, - 33013, - 33014, - 33015, - 33016, - 33017, - 33018, - 33019, - 33020, - 33021, - 33022, - 33023, - 33024, - 33025, - 33026, - 33027, - 33028, - 33029, - 33030, - 33031, - 33032, - 33034, - 33033 - ], - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "63bde8", - "Name": "Card", - "Transform": { - "posX": -5.625, - "posY": 1.171, - "posZ": 0.319, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33001, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0e05f2", - "Name": "Card", - "Transform": { - "posX": -0.326, - "posY": 1.032, - "posZ": -3.647, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33034, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9537b5", - "Name": "Card", - "Transform": { - "posX": -0.481, - "posY": 1.176, - "posZ": -3.573, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33033, - "SidewaysCard": false, - "CustomDeck": { - "330": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526721823383/9C6FEA16C9541D3D98EB4CF0B636B9CF030F249E/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724071043/C8D7BE5AC836B4FBE1E6F4D4C52F8B85FE53CAC8/", - "NumWidth": 8, - "NumHeight": 5, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "f3dfc9", - "Name": "Notecard", - "Transform": { - "posX": 17.175, - "posY": 3.594, - "posZ": -38.818, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "HOW TO USE SECRET OBJ.", - "Description": "\n\nAt the start of each scenario, each investigator is dealt 2 secret objectives, they choose one. If they complete their secret objective at any time during the scenario, they add the card to their PERSONAL victory display.\n\n", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "1e8a13", - "Name": "Deck", - "Transform": { - "posX": 14.368, - "posY": 3.614, - "posZ": -31.021, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 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": [ - 33100, - 33101, - 33102, - 33103, - 33104, - 33105, - 33106, - 33107, - 33108, - 33109, - 33110, - 33111 - ], - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e01c2", - "Name": "Card", - "Transform": { - "posX": 7.354, - "posY": 1.152, - "posZ": 2.884, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 1.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33101, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "5249d8", - "Name": "Card", - "Transform": { - "posX": 7.158, - "posY": 1.231, - "posZ": 2.808, - "rotX": 0.0, - "rotY": 180.0, - "rotZ": 359.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.71324, - "g": 0.71324, - "b": 0.71324 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "Hands": true, - "CardID": 33111, - "SidewaysCard": false, - "CustomDeck": { - "331": { - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/976605526724050690/73976114CA4EE3BB8BB03159476CAFAB63F551D3/", - "BackURL": "http://cloud-3.steamusercontent.com/ugc/976605526724051130/604A4D98487815A81408F37D5FD4BD5201DDF087/", - "NumWidth": 6, - "NumHeight": 4, - "BackIsHidden": true, - "UniqueBack": false, - "Type": 0 - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "ed4645", - "Name": "Notecard", - "Transform": { - "posX": 13.5, - "posY": 3.57, - "posZ": -31.298, - "rotX": 336.0, - "rotY": 87.0, - "rotZ": 7.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "HOW TO USE ULTIMATUMS", - "Description": "\nAt the start of each scenario, investigators may collectively choose to draw a random ultimatum. These ultimatums significantly ramp up the difficulty of the game, but reward them should they overcome the challenges.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - } - ] - }, - { - "GUID": "0a3b03", - "Name": "Custom_Model", - "Transform": { - "posX": -66.517, - "posY": 1.644, - "posZ": -83.303, - "rotX": 7.999999, - "rotY": 176.0, - "rotZ": 267.0, - "scaleX": 0.2, - "scaleY": 0.3, - "scaleZ": 0.2 - }, - "Nickname": "Decoration - Ammo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.141059935, - "g": 0.141059935, - "b": 0.141059935 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/780750188124765079/4F3634374EEC02E5D2DAED88F5D8F0956B6292B8/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/780750188124765629/74DEC33718157E37D77E0777715B452F9015A07F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "PhysicsMaterial": { - "StaticFriction": 0.0, - "DynamicFriction": 0.0, - "Bounciness": 0.0, - "FrictionCombine": 0, - "BounceCombine": 0 - }, - "Rigidbody": { - "Mass": 500.0, - "Drag": 0.0, - "AngularDrag": 0.0, - "UseGravity": true - } - }, - { - "GUID": "b43845", - "Name": "Custom_Model", - "Transform": { - "posX": -65.826, - "posY": 1.571, - "posZ": -81.108, - "rotX": 290.0, - "rotY": 59.0, - "rotZ": 268.0, - "scaleX": 0.2, - "scaleY": 0.3, - "scaleZ": 0.2 - }, - "Nickname": "Decoration - Ammo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.141059935, - "g": 0.141059935, - "b": 0.141059935 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/780750188124765079/4F3634374EEC02E5D2DAED88F5D8F0956B6292B8/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/780750188124765629/74DEC33718157E37D77E0777715B452F9015A07F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "PhysicsMaterial": { - "StaticFriction": 0.0, - "DynamicFriction": 0.0, - "Bounciness": 0.0, - "FrictionCombine": 0, - "BounceCombine": 0 - }, - "Rigidbody": { - "Mass": 500.0, - "Drag": 0.0, - "AngularDrag": 0.0, - "UseGravity": true - } - }, - { - "GUID": "d35ee9", - "Name": "Custom_Model", - "Transform": { - "posX": -66.507, - "posY": 1.598, - "posZ": -88.119, - "rotX": 0.0, - "rotY": 161.0, - "rotZ": 90.0, - "scaleX": 0.2, - "scaleY": 0.3, - "scaleZ": 0.2 - }, - "Nickname": "Decoration - Ammo", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.141059935, - "g": 0.141059935, - "b": 0.141059935 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": false, - "Snap": false, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": false, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/780750188124765079/4F3634374EEC02E5D2DAED88F5D8F0956B6292B8/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/780750188124765629/74DEC33718157E37D77E0777715B452F9015A07F/", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 2, - "TypeIndex": 0, - "CastShadows": true - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "PhysicsMaterial": { - "StaticFriction": 0.0, - "DynamicFriction": 0.0, - "Bounciness": 0.0, - "FrictionCombine": 0, - "BounceCombine": 0 - }, - "Rigidbody": { - "Mass": 500.0, - "Drag": 0.0, - "AngularDrag": 0.0, - "UseGravity": true - } - }, - { - "GUID": "6ccd6d", - "Name": "Custom_Token", - "Transform": { - "posX": -1.5, - "posY": 1.531, - "posZ": 30.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 4.5, - "scaleY": 1.0, - "scaleZ": 4.5 - }, - "Nickname": "Victory Display", - "Description": "Automatically counts the earned VP from cards in the victory display and locations in the play area without clues on them.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CameraZoom_ignore", - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": true, - "Grid": true, - "Snap": false, - "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/2053113893674531758/8E71AC0C7F8198A791AB4EA4ED9D301904F9A752/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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)\nrequire(\"core/VictoryDisplay\")\nend)\n__bundle_register(\"core/VictoryDisplay\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal playAreaApi = require(\"core/PlayAreaApi\")\r\nlocal tokenChecker = require(\"core/token/TokenChecker\")\r\nlocal pendingCall = false\r\nlocal messageSent = {}\r\nlocal missingData = {}\r\nlocal countedVP = {}\r\nlocal highlightMissing = false\r\nlocal highlightCounted = false\r\nlocal TRASHCAN\r\nlocal TRASHCAN_GUID = \"70b9f6\"\r\n\r\n-- button creation when loading the game\r\nfunction onLoad()\r\n TRASHCAN = getObjectFromGUID(TRASHCAN_GUID)\r\n\r\n -- index 0: VP - \"Display\"\r\n local buttonParameters = {}\r\n buttonParameters.label = \"0\"\r\n buttonParameters.click_function = \"none\"\r\n buttonParameters.function_owner = self\r\n buttonParameters.scale = { 0.15, 0.15, 0.15 }\r\n buttonParameters.width = 0\r\n buttonParameters.height = 0\r\n buttonParameters.font_size = 600\r\n buttonParameters.font_color = { 1, 1, 1 }\r\n buttonParameters.position = { x = -0.72, y = 0.06, z = -0.69 }\r\n self.createButton(buttonParameters)\r\n\r\n -- index 1: VP - \"Play Area\"\r\n buttonParameters.position.x = 0.65\r\n self.createButton(buttonParameters)\r\n\r\n -- index 2: VP - \"Total\"\r\n buttonParameters.position.x = 1.69\r\n self.createButton(buttonParameters)\r\n\r\n -- index 3: highlighting button (missing data)\r\n self.createButton({\r\n label = \"!\",\r\n click_function = \"highlightMissingData\",\r\n tooltip = \"Enable highlighting of cards without metadata (VP on these is not counted).\",\r\n function_owner = self,\r\n scale = { 0.15, 0.15, 0.15 },\r\n color = { 1, 0, 0 },\r\n width = 700,\r\n height = 800,\r\n font_size = 700,\r\n font_color = { 1, 1, 1 },\r\n position = { x = 1.82, y = 0.06, z = -1.32 }\r\n })\r\n\r\n -- index 4: highlighting button (counted VP)\r\n self.createButton({\r\n label = \"?\",\r\n click_function = \"highlightCountedVP\",\r\n tooltip = \"Enable highlighting of cards with VP.\",\r\n function_owner = self,\r\n scale = { 0.15, 0.15, 0.15 },\r\n color = { 0, 1, 0 },\r\n width = 700,\r\n height = 800,\r\n font_size = 700,\r\n font_color = { 1, 1, 1 },\r\n position = { x = 1.5, y = 0.06, z = -1.32 }\r\n })\r\n\r\n -- update the display label once\r\n Wait.time(updateCount, 1)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- events with descriptions\r\n---------------------------------------------------------\r\n\r\n-- dropping an object on the victory display\r\nfunction onCollisionEnter()\r\n startUpdate()\r\nend\r\n\r\n-- removing an object from the victory display\r\nfunction onCollisionExit()\r\n startUpdate()\r\nend\r\n\r\n-- picking a clue or location up\r\nfunction onObjectPickUp(_, obj)\r\n maybeUpdate(obj)\r\nend\r\n\r\n-- dropping a clue or location\r\nfunction onObjectDrop(_, obj)\r\n maybeUpdate(obj, 1)\r\nend\r\n\r\n-- flipping a clue/doom or location\r\nfunction onObjectRotate(obj, _, flip, _, _, oldFlip)\r\n if flip == oldFlip then return end\r\n maybeUpdate(obj, 1, true)\r\nend\r\n\r\n-- destroying a clue or location\r\nfunction onObjectDestroy(obj)\r\n maybeUpdate(obj)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- main functionality\r\n---------------------------------------------------------\r\n\r\nfunction maybeUpdate(obj, delay, flipped)\r\n -- stop if there is already an update call running\r\n if pendingCall then return end\r\n\r\n -- stop if obj is nil (by e.g. dropping a clue onto another and making a stack)\r\n if obj == nil then return end\r\n\r\n -- only continue for clues / doom tokens or locations\r\n if obj.hasTag(\"Location\") then\r\n elseif obj.memo == \"clueDoom\" then\r\n -- only continue if the clue side is up or a doom token is being flipped\r\n if obj.is_face_down == true and flipped ~= true then return end\r\n else\r\n return\r\n end\r\n\r\n -- only continue if the obj in in the play area\r\n if not playAreaApi.isInPlayArea(obj) then return end\r\n\r\n startUpdate(delay)\r\nend\r\n\r\n-- starts an update\r\nfunction startUpdate(delay)\r\n -- stop if there is already an update call running\r\n if pendingCall then return end\r\n pendingCall = true\r\n delay = tonumber(delay) or 0\r\n Wait.time(updateCount, delay + 0.2)\r\nend\r\n\r\n-- counts the VP in the victory display and request the VP count from the play area\r\nfunction updateCount()\r\n missingData = {}\r\n countedVP = {}\r\n local victoryPoints = {}\r\n victoryPoints.display = 0\r\n victoryPoints.playArea = playAreaApi.countVP()\r\n\r\n -- count cards in victory display\r\n for _, v in ipairs(searchOnObj(self)) do\r\n local obj = v.hit_object\r\n\r\n -- check metadata for VP\r\n if obj.tag == \"Card\" then\r\n local VP = getCardVP(obj, JSON.decode(obj.getGMNotes()))\r\n victoryPoints.display = victoryPoints.display + VP\r\n if VP > 0 then\r\n table.insert(countedVP, obj)\r\n end\r\n\r\n -- handling for stacked cards\r\n elseif obj.tag == \"Deck\" then\r\n local VP = 0\r\n for _, deepObj in ipairs(obj.getObjects()) do\r\n local deepVP = getCardVP(obj, JSON.decode(deepObj.gm_notes))\r\n victoryPoints.display = victoryPoints.display + deepVP\r\n if deepVP > 0 then\r\n VP = VP + 1\r\n end\r\n end\r\n if VP > 0 then\r\n table.insert(countedVP, obj)\r\n end\r\n end\r\n end\r\n\r\n -- update the buttons that are used as labels\r\n self.editButton({ index = 0, label = victoryPoints.display })\r\n self.editButton({ index = 1, label = victoryPoints.playArea })\r\n self.editButton({ index = 2, label = victoryPoints.display + victoryPoints.playArea })\r\n\r\n -- allow new update calls\r\n pendingCall = false\r\nend\r\n\r\n-- gets the VP count from the notes\r\nfunction getCardVP(obj, notes)\r\n local cardVP\r\n if notes ~= nil then\r\n -- enemy, treachery etc.\r\n cardVP = tonumber(notes.victory)\r\n\r\n -- location\r\n if not cardVP then\r\n -- check the correct side of the location\r\n if not obj.is_face_down and notes.locationFront ~= nil then\r\n cardVP = tonumber(notes.locationFront.victory)\r\n elseif notes.locationBack ~= nil then\r\n cardVP = tonumber(notes.locationBack.victory)\r\n end\r\n end\r\n if (cardVP or 0) > 0 then\r\n table.insert(countedVP, obj)\r\n end\r\n else\r\n table.insert(missingData, obj)\r\n end\r\n return cardVP or 0\r\nend\r\n\r\n-- toggles the highlight for objects with missing metadata\r\nfunction highlightMissingData()\r\n self.editButton({\r\n index = 3,\r\n tooltip = (highlightMissing and \"Enable\" or \"Disable\") ..\r\n \" highlighting of cards without metadata (VP on these is not counted).\"\r\n })\r\n for _, obj in pairs(missingData) do\r\n if obj ~= nil then\r\n if highlightMissing then\r\n obj.highlightOff(\"Red\")\r\n else\r\n obj.highlightOn(\"Red\")\r\n end\r\n end\r\n end\r\n playAreaApi.highlightMissingData(highlightMissing)\r\n highlightMissing = not highlightMissing\r\nend\r\n\r\n-- toggles the highlight for objects that were counted\r\nfunction highlightCountedVP()\r\n self.editButton({\r\n index = 4,\r\n tooltip = (highlightCounted and \"Enable\" or \"Disable\") ..\r\n \" highlighting of cards with VP.\"\r\n })\r\n for _, obj in pairs(countedVP) do\r\n if obj ~= nil then\r\n if highlightCounted then\r\n obj.highlightOff(\"Green\")\r\n else\r\n obj.highlightOn(\"Green\")\r\n end\r\n end\r\n end\r\n playAreaApi.highlightCountedVP(highlightCounted)\r\n highlightCounted = not highlightCounted\r\nend\r\n\r\n-- places the provided card in the first empty spot\r\nfunction placeCard(card)\r\n -- check snap point states\r\n local snaps = self.getSnapPoints()\r\n table.sort(snaps, function(a, b) return a.position.x > b.position.x end)\r\n table.sort(snaps, function(a, b) return a.position.z < b.position.z end)\r\n\r\n -- get first empty slot\r\n local fullSlots = {}\r\n local positions = {}\r\n for i, snap in ipairs(snaps) do\r\n positions[i] = self.positionToWorld(snap.position)\r\n local hits = checkSnapPointState(positions[i])\r\n\r\n -- first hit is self, additional hits must be cards / decks\r\n if #hits > 1 then\r\n fullSlots[i] = true\r\n end\r\n end\r\n\r\n -- remove tokens from the card\r\n for _, v in ipairs(searchOnObj(card)) do\r\n local obj = v.hit_object\r\n\r\n -- don't touch decks / cards\r\n if obj.tag == \"Deck\" or obj.tag == \"Card\" then\r\n -- put chaos tokens back into bag\r\n elseif tokenChecker.isChaosToken(obj) then\r\n local chaosBag = Global.call(\"findChaosBag\")\r\n chaosBag.putObject(obj)\r\n elseif obj.memo ~= nil and obj.getLock() == false then\r\n TRASHCAN.putObject(obj)\r\n end\r\n end\r\n \r\n -- place the card\r\n local name = card.getName() or \"Unnamed card\"\r\n for i = 1, 10 do\r\n if fullSlots[i] ~= true then\r\n local rot = { 0, 270, card.getRotation().z }\r\n card.setPositionSmooth(positions[i], false, true)\r\n card.setRotation(rot)\r\n broadcastToAll(\"Victory Display: \" .. name .. \" placed into slot \" .. i .. \".\", \"Green\")\r\n return\r\n end\r\n end\r\n\r\n broadcastToAll(\"Victory Display is full! \" .. name .. \" placed into slot 1.\", \"Orange\")\r\n card.setPositionSmooth(positions[1], false, true)\r\nend\r\n\r\n---------------------------------------------------------\r\n-- utility functions\r\n---------------------------------------------------------\r\n\r\n-- searches on an object\r\nfunction searchOnObj(obj)\r\n return Physics.cast({\r\n direction = { 0, 1, 0 },\r\n max_distance = 0.5,\r\n type = 3,\r\n size = obj.getBounds().size,\r\n origin = obj.getPosition()\r\n })\r\nend\r\n\r\nfunction checkSnapPointState(pos)\r\n return Physics.cast({\r\n direction = { 0, 1, 0 },\r\n max_distance = 0.1,\r\n type = 3,\r\n size = { 0.1, 0.1, 0.1 },\r\n origin = pos\r\n })\r\nend\r\n\r\n-- search a table for a value, return true if found (else returns false)\r\nfunction tableContains(table, value)\r\n for _, v in ipairs(table) do\r\n if v == value then\r\n return true\r\n end\r\n end\r\n return false\r\nend\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenChecker\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local CHAOS_TOKEN_NAMES = {\r\n [\"Elder Sign\"] = true,\r\n [\"+1\"] = true,\r\n [\"0\"] = true,\r\n [\"-1\"] = true,\r\n [\"-2\"] = true,\r\n [\"-3\"] = true,\r\n [\"-4\"] = true,\r\n [\"-5\"] = true,\r\n [\"-6\"] = true,\r\n [\"-7\"] = true,\r\n [\"-8\"] = true,\r\n [\"Skull\"] = true,\r\n [\"Cultist\"] = true,\r\n [\"Tablet\"] = true,\r\n [\"Elder Thing\"] = true,\r\n [\"Auto-fail\"] = true,\r\n [\"Bless\"] = true,\r\n [\"Curse\"] = true,\r\n [\"Frost\"] = true\r\n }\r\n\r\n local TokenChecker = {}\r\n\r\n -- returns true if the passed object is a chaos token (by name)\r\n TokenChecker.isChaosToken = function(obj)\r\n if CHAOS_TOKEN_NAMES[obj.getName()] then\r\n return true\r\n else\r\n return false\r\n end\r\n end\r\n\r\n return TokenChecker\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "", - "AttachedSnapPoints": [ - { - "Position": { - "x": 0.0, - "y": 0.05, - "z": 0.05 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.8, - "y": 0.05, - "z": 1.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.0, - "y": 0.05, - "z": 1.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 1.6, - "y": 0.05, - "z": 0.05 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 1.6, - "y": 0.05, - "z": 1.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.8, - "y": 0.05, - "z": 0.05 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -0.8, - "y": 0.05, - "z": 1.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.6, - "y": 0.05, - "z": 0.05 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": -1.6, - "y": 0.05, - "z": 1.0 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - }, - { - "Position": { - "x": 0.8, - "y": 0.05, - "z": 0.05 - }, - "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - } - } - ] - }, - { - "GUID": "e03c01", - "Name": "Custom_Tile", - "Transform": { - "posX": 6.5, - "posY": 1.481, - "posZ": -87.0, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 10.0, - "scaleY": 1.0, - "scaleZ": 10.0 - }, - "Nickname": "Campaign Overview", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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/2037357232933163412/1D2EE3BD0758463D8F6EB0DA30C59A21694BB1A4/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/2037357232933163412/1D2EE3BD0758463D8F6EB0DA30C59A21694BB1A4/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "830bd0", - "Name": "Bag", - "Transform": { - "posX": 78.0, - "posY": 1.006, - "posZ": -4.596, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 0.75, - "scaleY": 0.75, - "scaleZ": 0.75 - }, - "Nickname": "OptionPanel Source", - "Description": "Contains the objects that are spawnable via option panel", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.7058823, - "g": 0.366520882, - "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, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "e87ea2", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 21.012, - "posY": 3.161, - "posZ": -26.838, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "CYOA Campaign Guides", - "Description": "Antimarkovnikov", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/00%20CYOA.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "-- CYOA Campaign Guides by Antimarkovnikov, scripted by Chr1Z\r\n-- Utility memory bag by Directsun\r\n-- Version 2.7.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nCONFIG = {\r\n MEMORY_GROUP = {\r\n -- This determines how many frames to wait before actually placing objects onto the table when the \"Place\" button is clicked.\r\n -- This gives the other bags time to recall their objects.\r\n -- The delay ONLY occurs if other bags have objects out.\r\n FRAME_DELAY_BEFORE_PLACING_OBJECTS = 30,\r\n },\r\n}\r\n\r\n--[[ Memory Bag Groups ]] -------------------------------------------------------\r\n--[[\r\nUtility Memory Bags may be added to a named group, called a \"memory group\".\r\nYou can add a bag to a group through the bag's UI: \"Setup\" > \"Group Name\" (to the left of the bag).\r\nOnly one bag from a group may have it's contents placed on the table at a time.\r\nWhen \"Place\" is clicked on a bag, the other bags in it's memory group are recalled.\r\nBy default a memory bag is not in any group. It's memory group is \"nil\".\r\n--]]\r\n\r\nmemoryGroupName = { memoryBag = self }\r\nfunction memoryGroupName:get()\r\n return self._name\r\nend\r\n\r\nfunction memoryGroupName:set(newName)\r\n GlobalMemoryGroups:unregisterBagInGroup(self:get(), self.memoryBag.getGUID())\r\n GlobalMemoryGroups:registerBagInGroup(newName, self.memoryBag.getGUID())\r\n\r\n if newName == \"\" then\r\n self._name = nil\r\n else\r\n self._name = newName\r\n end\r\nend\r\n\r\n-- Click the \"Recall\" button on all other bags in my memory group.\r\nfunction recallOtherBagsInMyGroup()\r\n for _, bag in ipairs(getOtherBagsInMyGroup()) do\r\n bag.call('buttonClick_recall')\r\n end\r\nend\r\n\r\n-- Return \"true\" if another bag in my memory group has any objects out on the table.\r\nfunction anyOtherBagsInMyGroupArePlaced()\r\n for _, bag in ipairs(getOtherBagsInMyGroup()) do\r\n local state = bag.call('areAnyOfMyObjectsPlaced')\r\n if state then return true end\r\n end\r\n\r\n return false\r\nend\r\n\r\n-- Return \"true\" if at least one object from this memory bag is out on the table.\r\nfunction areAnyOfMyObjectsPlaced()\r\n for guid, _ in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then\r\n return true\r\n end\r\n end\r\n return false\r\nend\r\n\r\nfunction getOtherBagsInMyGroup()\r\n local bags = {}\r\n for bagGuid, _ in pairs(GlobalMemoryGroups:getGroup(memoryGroupName:get())) do\r\n if bagGuid ~= self.getGUID() then\r\n bag = getObjectFromGUID(bagGuid)\r\n -- \"bag\" is nill if it has been deleted since the last time onLoad() was called.\r\n if bag ~= nil then\r\n table.insert(bags, bag)\r\n end\r\n end\r\n end\r\n return bags\r\nend\r\n\r\n--[[\r\nThis object provides access to a variable stored on the \"Global script\".\r\nThe variable holds the names & guids of all memory bag groups.\r\nThe global variable is a table and holds data like this:\r\n{\r\n 'My First Group Name' = {\r\n '805ebd' = {},\r\n '35cc21' = {},\r\n 'fc8886' = {},\r\n },\r\n 'My Second Group Name' = {\r\n 'f50264' = {},\r\n '5f5f63' = {},\r\n },\r\n}\r\n--]]\r\nGlobalMemoryGroups = {\r\n NAME_OF_GLOBAL_VARIABLE = '_GlobalUtilityMemoryBagGroups',\r\n}\r\n\r\n-- Call me inside this script's \"onLoad()\" method!\r\nfunction GlobalMemoryGroups:onLoad(myGuid)\r\n -- Create and initialize the global variable if it doesn't already exist:\r\n if self:_getGroups() == nil then\r\n self:_setGroups({})\r\n end\r\nend\r\n\r\n-- Return the GUIDs of all bags in the \"groupName\". The return value is a dictionary that maps [GUID -> empty table].\r\nfunction GlobalMemoryGroups:getGroup(groupName)\r\n guids = self:_getGroups()[groupName] or {}\r\n return guids\r\nend\r\n\r\n-- Registers a bag in a memory group. Creates a new group if one doesn't exist.\r\nfunction GlobalMemoryGroups:registerBagInGroup(groupName, bagGuid)\r\n if groupName == nil or groupName == \"\" then\r\n return\r\n end\r\n\r\n self:_tryCreateNewGroup(groupName)\r\n local groups = self:_getGroups()\r\n groups[groupName][bagGuid] = {}\r\n self:_setGroups(groups)\r\nend\r\n\r\n-- Removes this bag from the memory group.\r\nfunction GlobalMemoryGroups:unregisterBagInGroup(groupName, bagGuid)\r\n local groups = self:_getGroups()\r\n local group = groups[groupName]\r\n if group ~= nil then\r\n group[bagGuid] = nil\r\n self:_setGroups(groups)\r\n end\r\nend\r\n\r\n-- Return the global variable, which is a table holding all memory group names & guids.\r\nfunction GlobalMemoryGroups:_getGroups()\r\n return Global.getTable(self.NAME_OF_GLOBAL_VARIABLE)\r\nend\r\n\r\n-- Override the global variable (i.e. the entire table).\r\nfunction GlobalMemoryGroups:_setGroups(newTable)\r\n Global.setTable(self.NAME_OF_GLOBAL_VARIABLE, newTable)\r\nend\r\n\r\n-- Add a new memory group named \"groupName\" to the global variable, if one doesn't already exist.\r\nfunction GlobalMemoryGroups:_tryCreateNewGroup(groupName)\r\n local groups = self:_getGroups()\r\n if groups[groupName] == nil then\r\n groups[groupName] = {}\r\n self:_setGroups(groups)\r\n end\r\nend\r\n\r\n-- This object controls the \"Group Name\" input text field that is part of the bag's ingame UI.\r\ngroupNameInput = {\r\n greyedOutText = \"Group Name\",\r\n widthPerCharacter = 100,\r\n padding = 4,\r\n memoryBag = self,\r\n}\r\nfunction groupNameInput:create(optionalStartingValue)\r\n local effectiveText = optionalStartingValue or self.greyedOutText\r\n local width = self:computeWidth(effectiveText)\r\n\r\n self.memoryBag.createInput({\r\n label = self.greyedOutText,\r\n value = optionalStartingValue or nil,\r\n alignment = 3, -- Center aligned\r\n input_function = \"groupNameInput_onCharacterTyped\", function_owner = self.memoryBag,\r\n position = { 2.1, 0.3, 0 }, rotation = { 0, 270, 0 }, width = width, height = 350,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 },\r\n })\r\nend\r\n\r\nfunction groupNameInput:computeWidth(text)\r\n return (string.len(text) + self.padding) * self.widthPerCharacter\r\nend\r\n\r\nfunction groupNameInput:updatedWidth(text)\r\n self.memoryBag.editInput({\r\n index = 0,\r\n width = self:computeWidth(text)\r\n })\r\nend\r\n\r\nfunction groupNameInput:onCharacterTyped(text, stillEditing)\r\n if stillEditing then\r\n self:updatedWidth(text)\r\n else\r\n if text == \"\" then\r\n self:updatedWidth(self.greyedOutText)\r\n end\r\n end\r\nend\r\n\r\nfunction groupNameInput_onCharacterTyped(memoryBag, playerColor, text, stillEditing)\r\n groupNameInput:onCharacterTyped(text, stillEditing)\r\nend\r\n\r\nfunction groupNameInput:setGroupNameToInputField()\r\n local inputFields = self.memoryBag.getInputs()\r\n if inputFields ~= nil then\r\n -- Get input field 0, which corresponds to the groupNameInput.\r\n -- Unfortunately \"self.getInputs()\" doesn't return the inputs in a guaranteed order.\r\n local nameField = nil\r\n for _, field in ipairs(inputFields) do\r\n if field.index == 0 then\r\n nameField = field\r\n end\r\n end\r\n\r\n memoryGroupName:set(nameField.value)\r\n end\r\nend\r\n\r\n--//////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\nfunction updateSave()\r\n local data_to_save = { [\"ml\"] = memoryList, [\"groupName\"] = memoryGroupName:get() }\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n GlobalMemoryGroups:onLoad(self.getGUID())\r\n AllMemoryBagsInScene:add(self.getGUID())\r\n\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n memoryGroupName:set(loaded_data.groupName)\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n memoryGroupName:set(nil)\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label = \"Setup\", click_function = \"buttonClick_setup\", function_owner = self,\r\n position = { 0, 0.3, 4.5 }, rotation = { 0, 0, 0 }, height = 350, width = 800,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", { 0.75, 0.75, 1 })\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n self.clearInputs()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n self.clearInputs()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 / self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = { 0.75, 0.25, 0.25, 0.6 }\r\n local colorMove = { 0, 0, 1, 0.6 }\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function = funcName, function_owner = self,\r\n position = objPos, rotation = rot, height = 1000, width = 1000,\r\n color = color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label = \"Cancel\", click_function = \"buttonClick_cancel\", function_owner = self,\r\n position = { 0, 0.3, 4.5 }, rotation = { 0, 0, 0 }, height = 350, width = 1100,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\n\r\n self.createButton({\r\n label = \"Submit\", click_function = \"buttonClick_submit\", function_owner = self,\r\n position = { 0, 0.3, 5.3 }, rotation = { 0, 0, 0 }, height = 350, width = 1100,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label = \"Add\", click_function = \"buttonClick_add\", function_owner = self,\r\n position = { 0, 0.3, 6.1 }, rotation = { 0, 0, 0 }, height = 350, width = 1100,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 0.25, 1, 0.25 }\r\n })\r\n\r\n self.createButton({\r\n label = \"Selection\", click_function = \"editDragSelection\", function_owner = self,\r\n position = { 0, 0.3, -4.5 }, rotation = { 0, 0, 0 }, height = 350, width = 1100,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\n groupNameInput:create(memoryGroupName:get())\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label = \"Set New\", click_function = \"buttonClick_setNew\", function_owner = self,\r\n position = { 0, 0.3, 6.9 }, rotation = { 0, 0, 0 }, height = 350, width = 1100,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 0.75, 0.75, 1 }\r\n })\r\n self.createButton({\r\n label = \"Remove\", click_function = \"buttonClick_remove\", function_owner = self,\r\n position = { 0, 0.3, 7.7 }, rotation = { 0, 0, 0 }, height = 350, width = 1100,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 0.25, 0.25 }\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label = \"Reset\", click_function = \"buttonClick_reset\", function_owner = self,\r\n position = { 3, 0.3, 0 }, rotation = { 0, 90, 0 }, height = 350, width = 800,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\nend\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = { 0, 0, 1, 0.6 }\r\n local color = { 0, 1, 0, 0.6 }\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({ index = previousIndex, color = colorMove })\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({ index = index, color = color })\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos = { x = round(pos.x, 4), y = round(pos.y, 4), z = round(pos.z, 4) },\r\n rot = { x = round(rot.x, 4), y = round(rot.y, 4), z = round(rot.z, 4) },\r\n lock = obj.getLock(),\r\n tint = obj.getColorTint()\r\n }\r\n obj.highlightOn({ 0, 1, 0 })\r\n else\r\n color = { 0.75, 0.25, 0.25, 0.6 }\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({ index = index, color = color })\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({ index = index, color = { 0, 1, 0, 0.6 } })\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos = { x = round(pos.x, 4), y = round(pos.y, 4), z = round(pos.z, 4) },\r\n rot = { x = round(rot.x, 4), y = round(rot.y, 4), z = round(rot.z, 4) },\r\n lock = obj.getLock(),\r\n tint = obj.getColorTint()\r\n }\r\n obj.highlightOn({ 0, 1, 0 })\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = { 0.75, 0.25, 0.25, 0.6 }\r\n self.editButton({ index = index, color = color })\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n self.clearInputs()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", { 1, 1, 1 })\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", { 1, 0.25, 0.25 })\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", { 0.75, 0.75, 1 })\r\n self.clearButtons()\r\n self.clearInputs()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", { 0.75, 0.25, 0.25 })\r\n end\r\n combineMemoryFromBagsWithin()\r\n groupNameInput:setGroupNameToInputField()\r\n self.clearButtons()\r\n self.clearInputs()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count .. \" Objects Saved\", { 1, 1, 1 })\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k, v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", { 0.25, 0.75, 0.25 })\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n self.clearInputs()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count .. \" Objects Saved\", { 1, 1, 1 })\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", { 1.0, 0.25, 0.25 })\r\n self.clearButtons()\r\n self.clearInputs()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count .. \" Objects Removed\", { 1, 1, 1 })\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", { 0.75, 0.75, 1 })\r\n self.clearButtons()\r\n self.clearInputs()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n memoryListBackup[guid].tint = obj.getColorTint()\r\n end\r\n end\r\n broadcastToAll(count .. \" Objects Saved\", { 1, 1, 1 })\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n memoryGroupName:set(nil)\r\n self.clearButtons()\r\n self.clearInputs()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", { 1, 1, 1 })\r\n updateSave()\r\nend\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label = \"Place\", click_function = \"buttonClick_place\", function_owner = self,\r\n position = { 0, 0.3, 4.5 }, rotation = { 0, 0, 0 }, height = 350, width = 800,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\n self.createButton({\r\n label = \"Recall\", click_function = \"buttonClick_recall\", function_owner = self,\r\n position = { 0, 0.3, 5.3 }, rotation = { 0, 0, 0 }, height = 350, width = 800,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\n self.createButton({\r\n label = \"Setup\", click_function = \"buttonClick_setup\", function_owner = self,\r\n position = { 3, 0.3, 0 }, rotation = { 0, 90, 0 }, height = 350, width = 800,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 1, 1, 1 }\r\n })\r\n self.createButton({\r\n label = \"Move\", click_function = \"buttonClick_transpose\", function_owner = self,\r\n position = { 3.8, 0.3, 0 }, rotation = { 0, 90, 0 }, height = 350, width = 800,\r\n font_size = 250, color = { 0, 0, 0 }, font_color = { 0.75, 0.75, 1 }\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n if anyOtherBagsInMyGroupArePlaced() then\r\n recallOtherBagsInMyGroup()\r\n Wait.frames(_placeObjects, CONFIG.MEMORY_GROUP.FRAME_DELAY_BEFORE_PLACING_OBJECTS)\r\n else\r\n _placeObjects()\r\n end\r\nend\r\n\r\nfunction _placeObjects()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n obj.setColorTint(entry.tint)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid = guid, position = entry.pos, rotation = entry.rot, smooth = false\r\n })\r\n item.setLock(entry.lock)\r\n item.setColorTint(entry.tint)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", { 1, 1, 1 })\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", { 1, 1, 1 })\r\nend\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x - p1.x)\r\n deltaPos.y = (p2.y - p1.y) + yOffset\r\n deltaPos.z = (p2.z - p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return { x = x, y = desiredPos.y, z = z }\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return { x = x, y = desiredPos.y, z = z }\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10 ^ (dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n\r\n--[[\r\nThis object provides access to a variable stored on the \"Global script\".\r\nThe variable holds the GUIDs for every Utility Memory Bag in the scene.\r\nExample:\r\n{'805ebd', '35cc21', 'fc8886', 'f50264', '5f5f63'}\r\n--]]\r\nAllMemoryBagsInScene = {\r\n NAME_OF_GLOBAL_VARIABLE = \"_UtilityMemoryBag_AllMemoryBagsInScene\"\r\n}\r\n\r\nfunction AllMemoryBagsInScene:add(guid)\r\n local guids = Global.getTable(self.NAME_OF_GLOBAL_VARIABLE) or {}\r\n table.insert(guids, guid)\r\n Global.setTable(self.NAME_OF_GLOBAL_VARIABLE, guids)\r\nend\r\n\r\nfunction AllMemoryBagsInScene:getGuidList()\r\n return Global.getTable(self.NAME_OF_GLOBAL_VARIABLE) or {}\r\nend\r\n\r", - "LuaScriptState": "{\"ml\":{\"06a742\":{\"lock\":false,\"pos\":{\"x\":65,\"y\":1.2494,\"z\":-31.3},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"11d148\":{\"lock\":false,\"pos\":{\"x\":47,\"y\":1.2494,\"z\":-25.1},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"1bac4d\":{\"lock\":false,\"pos\":{\"x\":56.0004,\"y\":1.2494,\"z\":-31.3},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"20d53c\":{\"lock\":false,\"pos\":{\"x\":56,\"y\":1.2494,\"z\":-18.8953},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"2275ed\":{\"lock\":false,\"pos\":{\"x\":56,\"y\":1.569,\"z\":-11},\"rot\":{\"x\":0,\"y\":90,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"38d1cd\":{\"lock\":false,\"pos\":{\"x\":65,\"y\":1.2494,\"z\":-25.1},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"3a08d9\":{\"lock\":false,\"pos\":{\"x\":38,\"y\":1.2494,\"z\":-25.1},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"4c47d8\":{\"lock\":false,\"pos\":{\"x\":47,\"y\":1.2494,\"z\":-37.5},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"56a91d\":{\"lock\":false,\"pos\":{\"x\":65,\"y\":1.2494,\"z\":-18.8955},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"8f7e04\":{\"lock\":false,\"pos\":{\"x\":38,\"y\":1.2494,\"z\":-18.9},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"d5cd12\":{\"lock\":false,\"pos\":{\"x\":65,\"y\":1.2494,\"z\":-37.5},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"e227ad\":{\"lock\":false,\"pos\":{\"x\":47,\"y\":1.2494,\"z\":-31.3},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"e32dc3\":{\"lock\":false,\"pos\":{\"x\":47,\"y\":1.2494,\"z\":-18.9},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"ed1d0c\":{\"lock\":false,\"pos\":{\"x\":38,\"y\":1.2494,\"z\":-31.3},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"f03c2d\":{\"lock\":false,\"pos\":{\"x\":56.0004,\"y\":1.2494,\"z\":-25.1},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}},\"f5f3b5\":{\"lock\":false,\"pos\":{\"x\":56.2742,\"y\":1.2494,\"z\":-37.5},\"rot\":{\"x\":0,\"y\":270,\"z\":0},\"tint\":{\"a\":1,\"b\":1,\"g\":1,\"r\":1}}}}\r", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "06a742", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 32.969, - "posY": 1.044, - "posZ": -85.104, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "03 The Path to Carcosa", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/03%20Path%20to%20Carcosa.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "df45c0", - "Name": "Custom_PDF", - "Transform": { - "posX": 12.252, - "posY": 3.009, - "posZ": 11.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/51eeefcbe1d1eded152916465d88296faf66528b/Dual%20Pages%2003%20The%20Path%20to%20Carcosa.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "11d148", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 16.969, - "posY": 1.062, - "posZ": -79.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "09 The Scarlet Keys", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/09%20The%20Scarlet%20Keys.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "c50a3a", - "Name": "Custom_PDF", - "Transform": { - "posX": 16.697, - "posY": 3.047, - "posZ": -78.723, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "09 The Scarlet Keys", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2009%20The%20Scarlet%20Keys.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "1bac4d", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 24.969, - "posY": 1.041, - "posZ": -85.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "06B The Web of Dreams", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/06B%20Web%20of%20Dreams.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "ae792e", - "Name": "Custom_PDF", - "Transform": { - "posX": -22.574, - "posY": 2.51, - "posZ": 5.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Web of Dreams (Campaign B)", - "Description": "The Dream-Eaters", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2006%20The%20Dream-Eaters%20-%20B%20-%20The%20Web%20of%20Dreams.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "20d53c", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 24.969, - "posY": 1.045, - "posZ": -73.104, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "05 The Circle Undone", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/05%20Circle%20Undone.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "692219", - "Name": "Custom_PDF", - "Transform": { - "posX": 2.737, - "posY": 2.511, - "posZ": -7.436, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Circle Undone", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2005%20The%20Circle%20Undone.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "9e9944", - "Name": "Custom_PDF", - "Transform": { - "posX": 2.228, - "posY": 2.704, - "posZ": -9.378, - "rotX": 3.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Circle Undone (Return to)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2005%20The%20Circle%20Undone%20-%20Return%20To.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "2275ed", - "Name": "Notecard", - "Transform": { - "posX": 29.34, - "posY": 1.368, - "posZ": -65.808, - "rotX": 0.0, - "rotY": 90.0, - "rotZ": 0.0, - "scaleX": 1.25, - "scaleY": 1.25, - "scaleZ": 1.25 - }, - "Nickname": "Return to Expansions", - "Description": "When playing with the Return to Versions of the CYOA guides you will need to use the Return to setup card avaliable above the scenario card to modify the original setup of the game.\r\n\r\nEither version can be used to play a Standard campaign. Howevever, for Return to The Forgotten Age and The Circle Undone you will need the Return to guide.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "38d1cd", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 32.969, - "posY": 1.046, - "posZ": -79.104, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "02 The Dunwich Legacy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/02%20Dunwich%20Legacy.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "8df5fc", - "Name": "Custom_PDF", - "Transform": { - "posX": 12.25, - "posY": 3.029, - "posZ": 19.986, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Dunwich Legacy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/51eeefcbe1d1eded152916465d88296faf66528b/Dual%20Pages%2002%20The%20Dunwich%20Legacy.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "3a08d9", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 8.969, - "posY": 1.074, - "posZ": -79.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "C1 Dark Matter", - "Description": "Designed by Axolotl", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/C1%20Dark%20Matter.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "409b50", - "Name": "Custom_PDF", - "Transform": { - "posX": 10.122, - "posY": 2.511, - "posZ": 0.255, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "C1 Dark Matter", - "Description": "Designed by Axolotl", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20C1%20Dark%20Matter.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "4c47d8", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 16.968, - "posY": 1.058, - "posZ": -91.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "S2 Stand-Alones 2020-202?", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/S2%202020-202.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "e19e46", - "Name": "Custom_PDF", - "Transform": { - "posX": 17.318, - "posY": 2.845, - "posZ": -92.94, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S2 10 Fortune and Folly", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S2%2010%20Fortune%20and%20Folly.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "f5dbf1", - "Name": "Custom_PDF", - "Transform": { - "posX": -15.355, - "posY": 2.511, - "posZ": -15.28, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S2 09 Machinations Through Time", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S2%2009%20Machinations%20Through%20Time.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "bffa04", - "Name": "Custom_PDF", - "Transform": { - "posX": -15.976, - "posY": 2.511, - "posZ": -13.355, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S2 08 War of the Outer Gods", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S2%2008%20War%20of%20the%20Outer%20Gods.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "409b50", - "Name": "Custom_PDF", - "Transform": { - "posX": 16.576, - "posY": 2.846, - "posZ": -90.917, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S2 07 Barkham Horror", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S2%2007%20Barkham%20Horror.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "56a91d", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 32.969, - "posY": 1.048, - "posZ": -73.104, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "01 Night of the Zealot", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/01%20Night%20of%20the%20Zealot.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "276907", - "Name": "Custom_PDF", - "Transform": { - "posX": -12.985, - "posY": 2.511, - "posZ": 19.133, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "Night of the Zealot", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2001%20Night%20of%20the%20Zealot.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "8f7e04", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 8.971, - "posY": 1.076, - "posZ": -73.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "P1 Challenge Scenarios", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/P1%20Challenge%20Scenarios.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "f053b0", - "Name": "Custom_PDF", - "Transform": { - "posX": 8.563, - "posY": 2.859, - "posZ": -73.32, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 05 Red Tide Rising", - "Description": "Wendy Adams", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%2005%20Red%20Tide%20Rising.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "a37a83", - "Name": "Custom_PDF", - "Transform": { - "posX": 11.118, - "posY": 2.864, - "posZ": -72.564, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 04 By the Book", - "Description": "Roland Banks", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%2004%20By%20the%20Book.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b5fcf1", - "Name": "Custom_PDF", - "Transform": { - "posX": 9.889, - "posY": 2.863, - "posZ": -72.852, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 03 Bad Blood", - "Description": "Agnes Baker", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%2003%20Bad%20Blood.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8950c7", - "Name": "Custom_PDF", - "Transform": { - "posX": 9.928, - "posY": 2.864, - "posZ": -71.817, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 02 All or Nothing", - "Description": "\"Skids\" O'Toole", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%2002%20All%20or%20Nothing.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "8994ea", - "Name": "Custom_PDF", - "Transform": { - "posX": 9.656, - "posY": 2.859, - "posZ": -72.195, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 01 Read or Die", - "Description": "Daisy Walker", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%2001%20Read%20or%20Die.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "443855", - "Name": "Custom_PDF", - "Transform": { - "posX": 10.16, - "posY": 2.863, - "posZ": -72.672, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 DC Death Itself", - "Description": "The Pallid Mask", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%20DC%20Death%20Itself.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d72c48", - "Name": "Custom_PDF", - "Transform": { - "posX": 8.449, - "posY": 2.859, - "posZ": -73.655, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 DC Then it Multiplied", - "Description": "Undimensioned and Unseen", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%20DC%20Then%20It%20Multiplied.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "409b50", - "Name": "Custom_PDF", - "Transform": { - "posX": 9.933, - "posY": 2.863, - "posZ": -70.772, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "P1 Challenge Scenarios", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20P1%20Challenge%20Scenarios.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "d5cd12", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 32.969, - "posY": 1.043, - "posZ": -91.104, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "04 The Forgotten Age", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/04%20Forgotten%20Age.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "20c2ad", - "Name": "Custom_PDF", - "Transform": { - "posX": -8.236, - "posY": 2.511, - "posZ": -5.479, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Forgotten Age", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2004%20The%20Forgotten%20Age.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "908cbf", - "Name": "Custom_PDF", - "Transform": { - "posX": -8.079, - "posY": 2.511, - "posZ": -5.591, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Forgotten Age (Return to)", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2004%20The%20Forgotten%20Age%20-%20Return%20to.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "e227ad", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 16.968, - "posY": 1.06, - "posZ": -85.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "S1 Stand-Alones 2016-2020", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/S1%202016-2020.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "6ad284", - "Name": "Custom_PDF", - "Transform": { - "posX": 7.815, - "posY": 2.647, - "posZ": 0.798, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 2.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S1 06 The Blob that Ate Everything", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%2006%20Blob.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "b13297", - "Name": "Custom_PDF", - "Transform": { - "posX": 8.414, - "posY": 2.587, - "posZ": -0.941, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 1.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S1 05 Murder at the Excelsior Hotel", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%2005%20Murder%20Hotel.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "6611a9", - "Name": "Custom_PDF", - "Transform": { - "posX": 7.318, - "posY": 2.658, - "posZ": -1.465, - "rotX": 3.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S1 04 Guardians of the Abyss", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%2004%20Guardians%20of%20the%20Abyss.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "d014ce", - "Name": "Custom_PDF", - "Transform": { - "posX": 6.482, - "posY": 2.511, - "posZ": -0.145, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S1 03 The Labyrinths of Lunacy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%2003%20Labyrinths.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "538f32", - "Name": "Custom_PDF", - "Transform": { - "posX": 9.315, - "posY": 2.511, - "posZ": -1.398, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S01 02 Carinvale of Horrors", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%2002%20Carnivale.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "39bf7c", - "Name": "Custom_PDF", - "Transform": { - "posX": 8.758, - "posY": 2.787, - "posZ": -0.99, - "rotX": 5.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S1 01 Curse of the Rougarou", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%2001%20Rougarou.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "00a430", - "Name": "Custom_PDF", - "Transform": { - "posX": 7.133, - "posY": 2.511, - "posZ": 0.024, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "S1 Stand-Alone Scenarios 2016-2020", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20S1%20Stand-Alones.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "e32dc3", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 16.97, - "posY": 1.063, - "posZ": -73.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "08 Edge of the Earth", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/08%20Edge%20of%20the%20Earth.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "c50a3a", - "Name": "Custom_PDF", - "Transform": { - "posX": -5.104, - "posY": 2.714, - "posZ": -22.714, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 180.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "08 Edge of the Earth", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2008%20Edge%20of%20the%20Earth.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "ed1d0c", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 8.969, - "posY": 1.072, - "posZ": -85.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "C2 Alice in Wonderland", - "Description": "Designed by Tyler Gotch", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/C2%20Alice%20in%20Wonderland.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "409b50", - "Name": "Custom_PDF", - "Transform": { - "posX": 8.969, - "posY": 1.174, - "posZ": -79.104, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "C2 Alice in Wonderland", - "Description": "Designed by Tyler Gotch", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20C2%20Alice%20in%20Wonderland.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "f03c2d", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 24.969, - "posY": 1.043, - "posZ": -79.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "06A The Dream-Quest", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/06A%20Dream%20Quest.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "47b9c1", - "Name": "Custom_PDF", - "Transform": { - "posX": -21.449, - "posY": 2.511, - "posZ": 14.842, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "The Dream Quest (Campaign A)", - "Description": "The Dream-Eaters", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2006%20The%20Dream-Eaters%20-%20A%20-%20The%20Dream-Quest.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - }, - { - "GUID": "f5f3b5", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 24.969, - "posY": 1.04, - "posZ": -91.1, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "07 The Innsmouth Conspiracy", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "CustomMesh": { - "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", - "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/07%20Innsmouth%20Conspiracy.jpg?raw=true", - "NormalURL": "", - "ColliderURL": "", - "Convex": true, - "MaterialIndex": 3, - "TypeIndex": 6, - "CustomShader": { - "SpecularColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "SpecularIntensity": 0.0, - "SpecularSharpness": 2.0, - "FresnelStrength": 0.0 - }, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "f42179", - "Name": "Custom_PDF", - "Transform": { - "posX": 0.847, - "posY": 2.818, - "posZ": 73.957, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "07 The Innsmouth Conspiracy - Play Order", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2007%20The%20Innsmouth%20Conspiracy%20-%20Play%20Order.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "c50a3a", - "Name": "Custom_PDF", - "Transform": { - "posX": -3.487, - "posY": 2.511, - "posZ": -14.208, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.76, - "scaleY": 1.0, - "scaleZ": 1.76 - }, - "Nickname": "07 The Innsmouth Conspiracy - Chronological", - "Description": "", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "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": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2007%20The%20Innsmouth%20Conspiracy%20-%20Chronolognical.pdf?raw=true", - "PDFPassword": "", - "PDFPage": 0, - "PDFPageOffset": 0 - }, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "" - } - ] - } - ] - }, - { - "GUID": "7f4976", - "Name": "Infinite_Bag", - "Transform": { - "posX": 27.677, - "posY": 4.472, - "posZ": -31.034, - "rotX": 0.0, - "rotY": 0.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Attachment Helper", - "Description": "Provides card-sized bags that are useful for cards that are attached facedown (e.g. Backpack).", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 0.30589, - "g": 0.37256, - "b": 1.0 - }, - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "MaterialIndex": -1, - "MeshIndex": -1, - "LuaScript": "", - "LuaScriptState": "", - "XmlUI": "", - "ContainedObjects": [ - { - "GUID": "d45664", - "Name": "Custom_Model_Bag", - "Transform": { - "posX": 19.228, - "posY": 3.822, - "posZ": -19.636, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 359.0, - "scaleX": 0.8, - "scaleY": 1.0, - "scaleZ": 0.8 - }, - "Nickname": "Attachment Helper", - "Description": "Drop cards here to display name, cost and skill icons.\n\nSee context menu for options.\n\nDrop this on another card to load the respective background if available.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "Asset" - ], - "LayoutGroupSortIndex": 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, - "Number": 0, - "CustomMesh": { - "MeshURL": "http://cloud-3.steamusercontent.com/ugc/1754695414379239413/0B8E68F3B7311DCF2138FB701F78D1D93FBA4CAB/", - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1750192233783143973/D526236AAE16BDBB98D3F30E27BAFC1D3E21F4AC/", - "NormalURL": "", - "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/1754695414379239413/0B8E68F3B7311DCF2138FB701F78D1D93FBA4CAB/", - "Convex": true, - "MaterialIndex": 1, - "TypeIndex": 6, - "CastShadows": true - }, - "Bag": { - "Order": 0 - }, - "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)\nrequire(\"accessories/AttachmentHelper\")\nend)\n__bundle_register(\"accessories/AttachmentHelper\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal fontColor\r\nlocal BACKGROUNDS = {\r\n {\r\n title = \"Ancestral Knowledge\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1915746489207287888/2F9F6F211ED0F98E66C9D35D93221E4C7FB6DD3C/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Astronomical Atlas\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1754695853007989004/9153BC204FC707AE564ECFAC063A11CB8C2B5D1E/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Backpack\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2018212896278691928/F55BEFFC2540109C6333179532F583B367FF2EBC/\",\r\n fontcolor = { 0, 0, 0 }\r\n },\r\n {\r\n title = \"Binder's Jar\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2021606446228642191/4C149527851C1DBB3015F93DE91667937A3F91DD/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Crystallizer of Dreams\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1915746489207280958/100F16441939E5E23818651D1EB5C209BF3125B9/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Diana Stanley\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1754695635919071208/1AB7222850201630826BFFBA8F2BD0065E2D572F/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Gloria Goldberg\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1754695635919102502/453D4426118C8A6DE2EA281184716E26CA924C84/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Ikiaq\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2021606446228198966/5A408D8D760221DEA164E986B9BE1F79C4803071/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Katja Eastbank\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2021606446228203475/62EEE12F4DB1EB80D79B087677459B954380215F/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Ravenous\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2021606446228208075/EAC598A450BEE504A7FE179288F1FBBF7ABFA3E0/\",\r\n fontcolor = { 0, 0, 0 }\r\n },\r\n {\r\n title = \"Sefina Rousseau\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1754695635919099826/3C3CBFFAADB2ACA9957C736491F470AE906CC953/\",\r\n fontcolor = { 0, 0, 0 }\r\n },\r\n {\r\n title = \"Stick to the Plan\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2018214163838897493/8E38B96C5A8D703A59009A932432CBE21ABE63A2/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Subject 5U-21\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/2021606446228199363/CE43D58F37C9F48BDD6E6E145FE29BADEFF4DBC5/\",\r\n fontcolor = { 1, 1, 1 }\r\n },\r\n {\r\n title = \"Wooden Sledge\",\r\n url = \"http://cloud-3.steamusercontent.com/ugc/1750192233783143973/D526236AAE16BDBB98D3F30E27BAFC1D3E21F4AC/\",\r\n fontcolor = { 0, 0, 0 }\r\n }\r\n}\r\n\r\n-- save state and options to restore onLoad\r\nfunction onSave() return JSON.encode({ cardsInBag, showCost, showIcons }) end\r\n\r\n-- load variables and create context menu\r\nfunction onLoad(savedData)\r\n local loadedData = JSON.decode(savedData)\r\n cardsInBag = loadedData[1] or {}\r\n showCost = loadedData[2] or true\r\n showIcons = loadedData[3] or true\r\n fontColor = getFontColor()\r\n recreateButtons()\r\n\r\n self.addContextMenuItem(\"Select image\", selectImage)\r\n self.addContextMenuItem(\"Toggle cost\", function(color)\r\n showCost = not showCost\r\n printToColor(\"Show cost of cards: \" .. tostring(showCost), color, \"White\")\r\n refresh()\r\n end)\r\n\r\n self.addContextMenuItem(\"Toggle skill icons\", function(color)\r\n showIcons = not showIcons\r\n printToColor(\"Show skill icons of cards: \" .. tostring(showIcons), color, \"White\")\r\n refresh()\r\n end)\r\nend\r\n\r\n-- gets the font color based on background url\r\nfunction getFontColor()\r\n local customInfo = self.getCustomObject()\r\n for i = 1, #BACKGROUNDS do\r\n if BACKGROUNDS[i].url == customInfo.diffuse then\r\n return BACKGROUNDS[i].fontcolor\r\n end\r\n end\r\n return { 1, 1, 1 }\r\nend\r\n\r\n-- attempt to load image from below card when dropped\r\nfunction onDrop(playerColor)\r\n local pos = self.getPosition():setAt(\"y\", 2)\r\n local search = Physics.cast({\r\n direction = { 0, -1, 0 },\r\n max_distance = 2,\r\n type = 3,\r\n size = { 0.1, 0.1, 0.1 },\r\n origin = pos\r\n })\r\n\r\n local syncName\r\n for _, v in ipairs(search) do\r\n if v.hit_object.tag == \"Card\" then\r\n syncName = v.hit_object.getName()\r\n break\r\n end\r\n end\r\n\r\n if not syncName then return end\r\n\r\n -- remove level information fron syncName\r\n syncName = syncName:gsub(\"%s%(%d%)\", \"\")\r\n\r\n -- loop through background table\r\n for _, bgInfo in ipairs(BACKGROUNDS) do\r\n if bgInfo.title == syncName then\r\n printToColor(\"Background for '\" .. syncName .. \"' loaded!\", playerColor, \"Green\")\r\n updateImage(bgInfo.url)\r\n return\r\n end\r\n end\r\n printToColor(\"Didn't find background for '\" .. syncName .. \"'!\", playerColor, \"Orange\")\r\nend\r\n\r\n-- called by context menu to change background image\r\nfunction selectImage(color)\r\n -- generate list of options\r\n local options = {}\r\n for i = 1, #BACKGROUNDS do\r\n options[i] = BACKGROUNDS[i].title\r\n end\r\n\r\n -- prompt user to select option\r\n Player[color].showOptionsDialog(\"Select image:\", options, 1, function(_, optionIndex)\r\n updateImage(BACKGROUNDS[optionIndex].url)\r\n end)\r\nend\r\n\r\n-- sets background to the provided URL\r\nfunction updateImage(url)\r\n self.script_state = JSON.encode({ cardsInBag, showCost, showIcons })\r\n local customInfo = self.getCustomObject()\r\n customInfo.diffuse = url\r\n self.setCustomObject(customInfo)\r\n self.reload()\r\nend\r\n\r\n-- only allow cards to enter, split decks and reject other objects\r\nfunction onObjectEnterContainer(container, object)\r\n if container ~= self then return end\r\n if object.tag == \"Deck\" then\r\n takeDeckOut(object.getGUID(), self.getPosition() + Vector(0, 0.1, 0))\r\n elseif object.tag ~= \"Card\" then\r\n broadcastToAll(\"The 'Attachment Helper' is meant to be used for cards.\", \"White\")\r\n else\r\n findCard(object.getGUID(), object.getName(), object.getGMNotes())\r\n recreateButtons()\r\n end\r\nend\r\n\r\n-- takes the deck out and splits in into single cards\r\nfunction takeDeckOut(guid, pos)\r\n local deck = self.takeObject({ guid = guid, position = pos, smooth = false })\r\n for i = 1, #deck.getObjects() do\r\n self.putObject(deck.takeObject({ position = pos + Vector(0, 0.1 * i, 0), smooth = false }))\r\n end\r\nend\r\n\r\n-- removes leaving cards from the \"cardInBag\" table\r\nfunction onObjectLeaveContainer(container, object)\r\n if container == self then\r\n local guid = object.getGUID()\r\n local found = false\r\n for i, card in ipairs(cardsInBag) do\r\n if card.id == guid then\r\n table.remove(cardsInBag, i)\r\n found = true\r\n break\r\n end\r\n end\r\n\r\n if found ~= true then\r\n local name = object.getName()\r\n for i, card in ipairs(cardsInBag) do\r\n if card.name == name then\r\n table.remove(cardsInBag, i)\r\n break\r\n end\r\n end\r\n end\r\n recreateButtons()\r\n end\r\nend\r\n\r\n-- refreshes displayed buttons based on contained cards\r\nfunction refresh()\r\n cardsInBag = {}\r\n for _, object in ipairs(self.getObjects()) do\r\n findCard(object.guid, object.name, object.gm_notes)\r\n end\r\n recreateButtons()\r\nend\r\n\r\n-- gets cost and icons for a card\r\nfunction findCard(guid, name, GMNotes)\r\n local cost = \"\"\r\n local icons = {}\r\n local metadata = {}\r\n local displayName = name\r\n\r\n if displayName == nil or displayName == \"\" then displayName = \"unnamed\" end\r\n if showCost or showIcons then metadata = JSON.decode(GMNotes) end\r\n\r\n if showCost then\r\n if GMNotes ~= \"\" then cost = metadata.cost end\r\n if cost == nil or cost == \"\" then cost = \"–\" end\r\n displayName = \"[\" .. cost .. \"] \" .. displayName\r\n end\r\n\r\n if showIcons then\r\n if GMNotes ~= \"\" then\r\n icons[1] = metadata.wildIcons\r\n icons[2] = metadata.willpowerIcons\r\n icons[3] = metadata.intellectIcons\r\n icons[4] = metadata.combatIcons\r\n icons[5] = metadata.agilityIcons\r\n end\r\n\r\n local IconTypes = { \"Wild\", \"Willpower\", \"Intellect\", \"Combat\", \"Agility\" }\r\n local found = false\r\n for i = 1, 5 do\r\n if icons[i] ~= nil and icons[i] ~= \"\" then\r\n if found == false then\r\n displayName = displayName .. \"\\n\" .. IconTypes[i] .. \": \" .. icons[i]\r\n found = true\r\n else\r\n displayName = displayName .. \" \" .. IconTypes[i] .. \": \" .. icons[i]\r\n end\r\n end\r\n end\r\n end\r\n table.insert(cardsInBag, { name = name, displayName = displayName, id = guid })\r\nend\r\n\r\n-- recreates buttons with up-to-date labels\r\nfunction recreateButtons()\r\n self.clearButtons()\r\n local verticalPosition = 1.65\r\n\r\n for _, card in ipairs(cardsInBag) do\r\n local id = card.id\r\n local funcName = \"removeCard\" .. id\r\n self.setVar(funcName, function() removeCard(id) end)\r\n self.createButton({\r\n label = card.displayName,\r\n click_function = funcName,\r\n function_owner = self,\r\n position = { 0, -0.1, verticalPosition },\r\n height = 200,\r\n width = 1200,\r\n font_size = string.len(card.displayName) > 20 and 75 or 100\r\n })\r\n verticalPosition = verticalPosition - 0.5\r\n end\r\n\r\n local countLabel = #cardsInBag\r\n local fontSize = 250\r\n if #cardsInBag == 0 then\r\n countLabel = \"Attachment Helper\"\r\n fontSize = 150\r\n end\r\n\r\n self.createButton({\r\n label = countLabel,\r\n click_function = \"none\",\r\n function_owner = self,\r\n position = { 0, -0.1, -1.7 },\r\n height = 0,\r\n width = 0,\r\n font_size = fontSize,\r\n font_color = fontColor\r\n })\r\nend\r\n\r\n-- click-function for buttons to take a card out of the bag\r\nfunction removeCard(cardGUID)\r\n self.takeObject({\r\n guid = cardGUID,\r\n rotation = self.getRotation(),\r\n position = self.getPosition() + Vector(0, 0.25, 0),\r\n callback_function = function(obj) obj.resting = true end\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "[[],true,true]", - "XmlUI": "" - } - ] - }, - { - "GUID": "17aed0", - "Name": "Custom_Tile", - "Transform": { - "posX": 29.245, - "posY": 8.402, - "posZ": -27.089, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Search Assistant", - "Description": "Searches the top X cards of the nearest playmat by setting your hand aside and putting the cards into your hand.\n\nPut the target of your search on your set aside hand.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1838053776205435595/ECFB88938ADBD1EF7AEF713111A11330FD9FAA5A/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1838053776205435595/ECFB88938ADBD1EF7AEF713111A11330FD9FAA5A/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 3, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"accessories/SearchAssistant\")\nend)\n__bundle_register(\"accessories/SearchAssistant\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- forward declaration of variables that are used across functions\r\nlocal matColor, handColor, setAsidePosition, setAsideRotation, drawDeckPosition\r\n\r\nlocal quickParameters = {}\r\nquickParameters.function_owner = self\r\nquickParameters.font_size = 165\r\nquickParameters.width = 275\r\nquickParameters.height = 275\r\nquickParameters.color = \"White\"\r\n\r\n-- common parameters\r\nlocal buttonParameters = {}\r\nbuttonParameters.function_owner = self\r\nbuttonParameters.font_size = 125\r\nbuttonParameters.width = 650\r\nbuttonParameters.height = 225\r\nbuttonParameters.color = \"White\"\r\n\r\nlocal inputParameters = {}\r\ninputParameters.function_owner = self\r\ninputParameters.input_function = \"updateSearchNumber\"\r\ninputParameters.tooltip = \"custom search amount\"\r\ninputParameters.label = \"#\"\r\ninputParameters.font_size = 175\r\ninputParameters.width = 400\r\ninputParameters.height = inputParameters.font_size + 23\r\ninputParameters.position = { 0, 0.11, 0 }\r\ninputParameters.alignment = 3\r\ninputParameters.validation = 2\r\n\r\nfunction onLoad()\r\n normalView()\r\nend\r\n\r\n-- regular view with search box\r\nfunction normalView()\r\n self.clearButtons()\r\n self.clearInputs()\r\n self.createInput(inputParameters)\r\n\r\n -- create custom search button\r\n buttonParameters.click_function = \"searchCustom\"\r\n buttonParameters.tooltip = \"Search the entered number of cards\"\r\n buttonParameters.position = { 0, 0.11, 0.65 }\r\n buttonParameters.label = \"Search\"\r\n self.createButton(buttonParameters)\r\n\r\n -- create buttons to search 3, 6 or 9 cards\r\n quickParameters.click_function = \"search3\"\r\n quickParameters.label = \"3\"\r\n quickParameters.position = { -0.65, 0.11, -0.65 }\r\n self.createButton(quickParameters)\r\n\r\n quickParameters.click_function = \"search6\"\r\n quickParameters.label = \"6\"\r\n quickParameters.position = { 0, 0.11, -0.65 }\r\n self.createButton(quickParameters)\r\n\r\n quickParameters.click_function = \"search9\"\r\n quickParameters.label = \"9\"\r\n quickParameters.position = { 0.65, 0.11, -0.65 }\r\n self.createButton(quickParameters)\r\nend\r\n\r\n-- click functions\r\nfunction search3(_, playerColor) startSearch(playerColor, 3) end\r\nfunction search6(_, playerColor) startSearch(playerColor, 6) end\r\nfunction search9(_, playerColor) startSearch(playerColor, 9) end\r\n\r\n-- view during a search with \"done\" buttons\r\nfunction searchView()\r\n self.clearButtons()\r\n self.clearInputs()\r\n\r\n -- create the \"End Search\" button\r\n buttonParameters.click_function = \"endSearch\"\r\n buttonParameters.tooltip = \"Left-click: Return cards and shuffle\\nRight-click: Return cards without shuffling\"\r\n buttonParameters.position = { 0, 0.11, 0 }\r\n buttonParameters.label = \"End Search\"\r\n self.createButton(buttonParameters)\r\nend\r\n\r\n-- input_function to get number of cards to search\r\nfunction updateSearchNumber(_, _, input)\r\n inputParameters.value = tonumber(input)\r\nend\r\n\r\n-- starts the search with the number from the input field\r\nfunction searchCustom(_, messageColor)\r\n local number = inputParameters.value\r\n if number ~= nil then\r\n startSearch(messageColor, number)\r\n else\r\n printToColor(\"Enter the number of cards to search in the textbox.\", messageColor, \"Orange\")\r\n end\r\nend\r\n\r\n-- start the search (change UI, set handCards aside, draw cards)\r\nfunction startSearch(messageColor, number)\r\n matColor = playmatApi.getMatColorByPosition(self.getPosition())\r\n handColor = playmatApi.getPlayerColor(matColor)\r\n\r\n -- get draw deck\r\n local drawDeck = playmatApi.getDrawDeck(matColor)\r\n if drawDeck == nil then\r\n printToColor(matColor .. \" draw deck could not be found!\", messageColor, \"Red\")\r\n return\r\n end\r\n\r\n drawDeckPosition = drawDeck.getPosition()\r\n printToColor(\"Place target(s) of search on set aside hand.\", messageColor, \"Green\")\r\n\r\n -- get playmat orientation\r\n local offset = -15\r\n if matColor == \"Orange\" or matColor == \"Red\" then\r\n offset = 15\r\n end\r\n\r\n -- get position and rotation for set aside cards\r\n local handData = Player[handColor].getHandTransform()\r\n local handCards = Player[handColor].getHandObjects()\r\n setAsidePosition = handData.position + offset * handData.right\r\n setAsideRotation = { handData.rotation.x, handData.rotation.y + 180, 180 }\r\n\r\n for i = #handCards, 1, -1 do\r\n handCards[i].setPosition(setAsidePosition - Vector(0, i * 0.3, 0))\r\n handCards[i].setRotation(setAsideRotation)\r\n end\r\n\r\n -- handling for Norman Withers\r\n for _, v in ipairs(searchArea(drawDeckPosition)) do\r\n local object = v.hit_object\r\n if object.tag == \"Card\" and not object.is_face_down then\r\n object.flip()\r\n Wait.time(function() drawDeck = playmatApi.getDrawDeck(matColor) end, 1)\r\n break\r\n end\r\n end\r\n\r\n Wait.time(function() drawDeck.deal(number, handColor) end, 1)\r\n searchView()\r\nend\r\n\r\n-- place handCards back into deck and optionally shuffle\r\nfunction endSearch(_, _, isRightClick)\r\n local handCards = Player[handColor].getHandObjects()\r\n\r\n for i = #handCards, 1, -1 do\r\n handCards[i].setPosition(drawDeckPosition + Vector(0, 6 - i * 0.3, 0))\r\n handCards[i].setRotation(setAsideRotation)\r\n end\r\n\r\n if not isRightClick then\r\n Wait.time(function()\r\n local deck = playmatApi.getDrawDeck(matColor)\r\n if deck ~= nil then\r\n deck.shuffle()\r\n end\r\n end, 2)\r\n end\r\n\r\n -- draw set aside cards (from the ground!)\r\n for _, v in ipairs(searchArea(setAsidePosition - Vector(0, 5, 0))) do\r\n local obj = v.hit_object\r\n if obj.tag == \"Deck\" then\r\n Wait.time(function()\r\n obj.deal(#obj.getObjects(), handColor)\r\n end, 1)\r\n break\r\n elseif obj.tag == \"Card\" then\r\n obj.setPosition(Player[handColor].getHandTransform().position)\r\n obj.flip()\r\n break\r\n end\r\n end\r\n\r\n normalView()\r\nend\r\n\r\n-- utility function\r\nfunction searchArea(position)\r\n return Physics.cast({\r\n origin = position,\r\n direction = { 0, 1, 0 },\r\n type = 3,\r\n size = { 2, 2, 2 },\r\n max_distance = 0\r\n })\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "450688", - "Name": "Custom_Tile", - "Transform": { - "posX": 37.613, - "posY": 2.213, - "posZ": -51.965, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 - }, - "Nickname": "Hand Helper", - "Description": "Displays the hand size (total or by title for \"Dream Enhancing Serum\"), hover over it to briefly toggle counting method.\n\nAllows you to randomly discard a card from your hand.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1704036721123215146/E44A3B99EACF310E49E94977151A03C9A3DC7F17/", - "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1704036721123215146/E44A3B99EACF310E49E94977151A03C9A3DC7F17/", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomTile": { - "Type": 0, - "Thickness": 0.1, - "Stackable": false, - "Stretch": true - } - }, - "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)\nrequire(\"accessories/HandHelper\")\nend)\n__bundle_register(\"accessories/HandHelper\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\n\r\n-- forward declaration of variables that are used across functions\r\nlocal matColor, handColor, loopId, hovering\r\n\r\nfunction onLoad()\r\n local buttonParamaters = {}\r\n buttonParamaters.function_owner = self\r\n\r\n -- index 0: button as hand size label\r\n buttonParamaters.hover_color = \"White\"\r\n buttonParamaters.click_function = \"none\"\r\n buttonParamaters.position = { 0, 0.11, -0.4 }\r\n buttonParamaters.height = 0\r\n buttonParamaters.width = 0\r\n buttonParamaters.font_size = 500\r\n buttonParamaters.font_color = \"White\"\r\n self.createButton(buttonParamaters)\r\n\r\n -- index 1: button to toggle \"des\"\r\n buttonParamaters.label = \"DES: ✗\"\r\n buttonParamaters.click_function = \"none\"\r\n buttonParamaters.position = { 0, 0.11, 0.25 }\r\n buttonParamaters.height = 0\r\n buttonParamaters.width = 0\r\n buttonParamaters.font_size = 120\r\n self.createButton(buttonParamaters)\r\n\r\n -- index 2: button to discard a card\r\n buttonParamaters.label = \"discard random card\"\r\n buttonParamaters.click_function = \"discardRandom\"\r\n buttonParamaters.position = { 0, 0.11, 0.7 }\r\n buttonParamaters.height = 175\r\n buttonParamaters.width = 900\r\n buttonParamaters.font_size = 90\r\n buttonParamaters.font_color = \"Black\"\r\n self.createButton(buttonParamaters)\r\n\r\n updateColors()\r\n\r\n -- start loop to update card count\r\n loopId = Wait.time(updateValue, 1, -1)\r\nend\r\n\r\n-- updates colors when object is dropped somewhere\r\nfunction onDrop() updateColors() end\r\n\r\n-- toggles counting method briefly\r\nfunction onObjectHover(hover_color, obj)\r\n -- only continue if correct player hovers over \"self\"\r\n if obj ~= self or hover_color ~= handColor or hovering then return end\r\n\r\n -- toggle this flag so this doesn't get executed multiple times during the delay\r\n hovering = true\r\n\r\n -- stop loop, toggle \"des\" and displayed value briefly, then start new loop after 2s\r\n Wait.stop(loopId)\r\n updateValue(true)\r\n Wait.time(function()\r\n loopId = Wait.time(updateValue, 1, -1)\r\n hovering = false\r\n end, 1)\r\nend\r\n\r\n-- updates the matcolor and handcolor variable\r\nfunction updateColors()\r\n matColor = playmatApi.getMatColorByPosition(self.getPosition())\r\n handColor = playmatApi.getPlayerColor(matColor)\r\n self.setName(handColor .. \" Hand Helper\")\r\nend\r\n\r\n-- count cards in hand (by name for DES)\r\nfunction updateValue(toggle)\r\n -- update colors if handColor doesn't own a handzone\r\n if Player[handColor].getHandCount() == 0 then\r\n updateColors()\r\n end\r\n\r\n -- if there is still no handzone, then end here\r\n if Player[handColor].getHandCount() == 0 then return end\r\n\r\n -- get state of \"Dream-Enhancing Serum\" from playermat and update button label\r\n local des = playmatApi.isDES(matColor)\r\n if toggle then des = not des end\r\n self.editButton({ index = 1, label = \"DES: \" .. (des and \"✓\" or \"✗\") })\r\n\r\n -- count cards in hand\r\n local hand = Player[handColor].getHandObjects()\r\n local size = 0\r\n\r\n if des then\r\n local cardHash = {}\r\n for _, obj in pairs(hand) do\r\n if obj.tag == \"Card\" then\r\n local name = obj.getName()\r\n local title = string.match(name, '(.+)(%s%(%d+%))') or name\r\n cardHash[title] = true\r\n end\r\n end\r\n for _, title in pairs(cardHash) do\r\n size = size + 1\r\n end\r\n else\r\n for _, obj in pairs(hand) do\r\n if obj.tag == \"Card\" then size = size + 1 end\r\n end\r\n end\r\n\r\n -- update button label and color\r\n self.editButton({ index = 0, font_color = des and \"Green\" or \"White\", label = size })\r\nend\r\n\r\n-- discards a random non-hidden card from hand\r\nfunction discardRandom()\r\n playmatApi.doDiscardOne(matColor)\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "0f1374", - "Name": "Custom_Token", - "Transform": { - "posX": 31.478, - "posY": 4.204, - "posZ": -20.335, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Displacement Tool", - "Description": "Moves all objects on the playmat in the chosen direction.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore", - "displacement_excluded" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1915746489209870095/5F6A6F2946DBEB81667C15B112F9E35943E61A97/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.2, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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(\"accessories/DisplacementTool\", function(require, _LOADED, __bundle_register, __bundle_modules)\nlocal playAreaApi = require(\"core/PlayAreaApi\")\r\n\r\nlocal UI_offset = 1.15\r\n\r\nlocal buttonParamaters = {}\r\nbuttonParamaters.function_owner = self\r\nbuttonParamaters.label = \"\"\r\nbuttonParamaters.height = 500\r\nbuttonParamaters.width = 500\r\nbuttonParamaters.color = { 0, 0, 0, 0 }\r\n\r\nfunction onLoad()\r\n -- index 0: left\r\n buttonParamaters.click_function = \"shift_left\"\r\n buttonParamaters.tooltip = \"Move left\"\r\n buttonParamaters.position = { -UI_offset, 0, 0 }\r\n self.createButton(buttonParamaters)\r\n\r\n -- index 1: right\r\n buttonParamaters.click_function = \"shift_right\"\r\n buttonParamaters.tooltip = \"Move right\"\r\n buttonParamaters.position = { UI_offset, 0, 0 }\r\n self.createButton(buttonParamaters)\r\n\r\n -- index 2: up\r\n buttonParamaters.click_function = \"shift_up\"\r\n buttonParamaters.tooltip = \"Move up\"\r\n buttonParamaters.position = { 0, 0, -UI_offset }\r\n self.createButton(buttonParamaters)\r\n\r\n -- index 3: down\r\n buttonParamaters.click_function = \"shift_down\"\r\n buttonParamaters.tooltip = \"Move down\"\r\n buttonParamaters.position = { 0, 0, UI_offset }\r\n self.createButton(buttonParamaters)\r\nend\r\n\r\nfunction shift_left(color) playAreaApi.shiftContentsLeft(color) end\r\n\r\nfunction shift_right(color) playAreaApi.shiftContentsRight(color) end\r\n\r\nfunction shift_up(color) playAreaApi.shiftContentsUp(color) end\r\n\r\nfunction shift_down(color) playAreaApi.shiftContentsDown(color) end\r\nend)\n__bundle_register(\"core/PlayAreaApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlayAreaApi = { }\r\n\r\n local PLAY_AREA_GUID = \"721ba2\"\r\n\r\n local IMAGE_SWAPPER = \"b7b45b\"\r\n\r\n -- Returns the current value of the investigator counter from the playmat\r\n ---@return Integer. Number of investigators currently set on the counter\r\n PlayAreaApi.getInvestigatorCount = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"getInvestigatorCount\")\r\n end\r\n\r\n -- Updates the current value of the investigator counter from the playmat\r\n ---@param count Number of investigators to set on the counter\r\n PlayAreaApi.setInvestigatorCount = function(count)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"setInvestigatorCount\", count)\r\n end\r\n\r\n -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain\r\n -- fixed objects will be ignored, as will anything the player has tagged with\r\n -- 'displacement_excluded'\r\n ---@param playerColor Color of the player requesting the shift. Used solely to send an error\r\n --- message in the unlikely case that the scripting zone has been deleted\r\n PlayAreaApi.shiftContentsUp = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsUp\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsDown = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsDown\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsLeft = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsLeft\", playerColor)\r\n end\r\n\r\n PlayAreaApi.shiftContentsRight = function(playerColor)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"shiftContentsRight\", playerColor)\r\n end\r\n\r\n -- Reset the play area's tracking of which cards have had tokens spawned.\r\n PlayAreaApi.resetSpawnedCards = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"resetSpawnedCards\")\r\n end\r\n\r\n -- Event to be called when the current scenario has changed.\r\n ---@param scenarioName Name of the new scenario\r\n PlayAreaApi.onScenarioChanged = function(scenarioName)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"onScenarioChanged\", scenarioName)\r\n end\r\n\r\n -- Sets this playmat's snap points to limit snapping to locations or not.\r\n -- If matchTypes is false, snap points will be reset to snap all cards.\r\n ---@param matchTypes Boolean Whether snap points should only snap for the matching card types.\r\n PlayAreaApi.setLimitSnapsByType = function(matchCardTypes)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n\r\n -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged\r\n -- cards before they're destroyed by entering the container\r\n PlayAreaApi.tryObjectEnterContainer = function(container, object)\r\n getObjectFromGUID(PLAY_AREA_GUID).call(\"tryObjectEnterContainer\",\r\n { container = container, object = object })\r\n end\r\n\r\n -- counts the VP on locations in the play area\r\n PlayAreaApi.countVP = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"countVP\")\r\n end\r\n\r\n -- highlights all locations in the play area without metadata\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightMissingData = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightMissingData\", state)\r\n end\r\n \r\n -- highlights all locations in the play area with VP\r\n ---@param state Boolean True if highlighting should be enabled\r\n PlayAreaApi.highlightCountedVP = function(state)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"highlightCountedVP\", state)\r\n end\r\n\r\n -- Checks if an object is in the play area (returns true or false)\r\n PlayAreaApi.isInPlayArea = function(object)\r\n return getObjectFromGUID(PLAY_AREA_GUID).call(\"isInPlayArea\", object)\r\n end\r\n\r\n PlayAreaApi.getSurface = function()\r\n return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject().image\r\n end\r\n\r\n PlayAreaApi.updateSurface = function(url)\r\n return getObjectFromGUID(IMAGE_SWAPPER).call(\"updateSurface\", url)\r\n end\r\n\r\n return PlayAreaApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"accessories/DisplacementTool\")\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "", - "XmlUI": "" - }, - { - "GUID": "26cf4b", - "Name": "Custom_Token", - "Transform": { - "posX": 30.964, - "posY": 4.132, - "posZ": -20.814, - "rotX": 0.0, - "rotY": 270.0, - "rotZ": 0.0, - "scaleX": 1.5, - "scaleY": 1.0, - "scaleZ": 1.5 - }, - "Nickname": "Clean Up Helper", - "Description": "Cleans up the table for the next scenario during campaign play.\n\nThis includes moving cards and tokens into the trashcans, resetting counters and removing bless/curse tokens from the chaos bag.", - "GMNotes": "", - "AltLookAngle": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "ColorDiffuse": { - "r": 1.0, - "g": 1.0, - "b": 1.0 - }, - "Tags": [ - "CleanUpHelper_ignore" - ], - "LayoutGroupSortIndex": 0, - "Value": 0, - "Locked": false, - "Grid": true, - "Snap": true, - "IgnoreFoW": false, - "MeasureMovement": false, - "DragSelectable": true, - "Autoraise": true, - "Sticky": true, - "Tooltip": true, - "GridProjection": false, - "HideWhenFaceDown": false, - "Hands": false, - "CustomImage": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/1850441528393599634/FA79B99F5544D16D38DCC8A26F1CEB3E7D9FED17/", - "ImageSecondaryURL": "", - "ImageScalar": 1.0, - "WidthScale": 0.0, - "CustomToken": { - "Thickness": 0.1, - "MergeDistancePixels": 15.0, - "StandUp": false, - "Stackable": false - } - }, - "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(\"chaosbag/BlessCurseManagerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local BlessCurseManagerApi = {}\r\n local MANAGER_GUID = \"5933fb\"\r\n\r\n -- removes all taken tokens and resets the counts\r\n BlessCurseManagerApi.removeTakenTokensAndReset = function()\r\n local BlessCurseManager = getObjectFromGUID(MANAGER_GUID)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Bless\") end, 0.05)\r\n Wait.time(function() BlessCurseManager.call(\"removeTakenTokens\", \"Curse\") end, 0.10)\r\n Wait.time(function() BlessCurseManager.call(\"doReset\", \"White\") end, 0.15)\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.sealedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"sealedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- updates the internal count (called by cards that seal bless/curse tokens)\r\n BlessCurseManagerApi.releasedToken = function(type, guid)\r\n getObjectFromGUID(MANAGER_GUID).call(\"releasedToken\", { type = type, guid = guid })\r\n end\r\n\r\n -- broadcasts the current status for bless/curse tokens\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.broadcastStatus = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"broadcastStatus\", playerColor)\r\n end\r\n\r\n -- removes all bless / curse tokens from the chaos bag and play\r\n ---@param playerColor String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.removeAll = function(playerColor)\r\n getObjectFromGUID(MANAGER_GUID).call(\"doRemove\", playerColor)\r\n end\r\n\r\n -- adds Wendy's menu to the hovered card (allows sealing of tokens)\r\n ---@param color String Color of the player to show the broadcast to\r\n BlessCurseManagerApi.addWendysMenu = function(playerColor, hoveredObject)\r\n getObjectFromGUID(MANAGER_GUID).call(\"addMenuOptions\", { playerColor = playerColor, hoveredObject = hoveredObject })\r\n end\r\n \r\n return BlessCurseManagerApi\r\nend\r\nend)\n__bundle_register(\"chaosbag/ChaosBagApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local ChaosBagApi = {}\r\n\r\n -- respawns the chaos bag with a new state of tokens\r\n ---@param tokenList Table List of chaos token ids\r\n ChaosBagApi.setChaosBagState = function(tokenList)\r\n return Global.call(\"setChaosBagState\", tokenList)\r\n end\r\n\r\n -- returns a Table List of chaos token ids in the current chaos bag\r\n -- requires copying the data into a new table because TTS is weird about handling table return values in Global\r\n ChaosBagApi.getChaosBagState = function()\r\n local chaosBagContentsCatcher = Global.call(\"getChaosBagState\")\r\n local chaosBagContents = {}\r\n for _, v in ipairs(chaosBagContentsCatcher) do\r\n table.insert(chaosBagContents, v)\r\n end\r\n return chaosBagContents\r\n end\r\n\r\n -- checks scripting zone for chaos bag (also called by a lot of objects!)\r\n ChaosBagApi.findChaosBag = function()\r\n return Global.call(\"findChaosBag\")\r\n end\r\n\r\n -- returns all sealed tokens on cards to the chaos bag\r\n ChaosBagApi.releaseAllSealedTokens = function(playerColor)\r\n return Global.call(\"releaseAllSealedTokens\", playerColor)\r\n end\r\n\r\n return ChaosBagApi\r\nend\nend)\n__bundle_register(\"core/SoundCubeApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local SoundCubeApi = {}\r\n local internal = {}\r\n\r\n -- this table links the name of a trigger effect to its index\r\n local soundIndices = {\r\n [\"Vacuum\"] = 0,\r\n [\"Deep Bell\"] = 1,\r\n [\"Dark Souls\"] = 2\r\n }\r\n\r\n internal.playTriggerEffect = function(index)\r\n getObjectsWithTag(\"SoundCube\")[1].AssetBundle.playTriggerEffect(index)\r\n end\r\n\r\n -- plays the by name requested sound\r\n ---@param soundName String Name of the sound to play\r\n SoundCubeApi.playSoundByName = function(soundName)\r\n internal.playTriggerEffect(soundIndices[soundName])\r\n end\r\n\r\n return SoundCubeApi\r\nend\r\nend)\n__bundle_register(\"core/token/TokenSpawnTrackerApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local TokenSpawnTracker = { }\r\n\r\n local SPAWN_TRACKER_GUID = \"e3ffc9\"\r\n\r\n TokenSpawnTracker.hasSpawnedTokens = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"hasSpawnedTokens\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.markTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"markTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetTokensSpawned = function(cardGuid)\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetTokensSpawned\", cardGuid)\r\n end\r\n\r\n TokenSpawnTracker.resetAllAssetAndEvents = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllAssetAndEvents\")\r\n end\r\n\r\n TokenSpawnTracker.resetAllLocations = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAllLocations\")\r\n end\r\n\r\n TokenSpawnTracker.resetAll = function()\r\n return getObjectFromGUID(SPAWN_TRACKER_GUID).call(\"resetAll\")\r\n end\r\n\r\n return TokenSpawnTracker\r\nend\r\nend)\n__bundle_register(\"playermat/PlaymatApi\", function(require, _LOADED, __bundle_register, __bundle_modules)\ndo\r\n local PlaymatApi = { }\r\n local internal = { }\r\n\r\n local MAT_IDS = {\r\n White = \"8b081b\",\r\n Orange = \"bd0ff4\",\r\n Green = \"383d8b\",\r\n Red = \"0840d5\"\r\n }\r\n\r\n local CLUE_COUNTER_GUIDS = {\r\n White = \"37be78\",\r\n Orange = \"1769ed\",\r\n Green = \"032300\",\r\n Red = \"d86b7c\"\r\n }\r\n\r\n local CLUE_CLICKER_GUIDS = {\r\n White = \"db85d6\",\r\n Orange = \"3f22e5\",\r\n Green = \"891403\",\r\n Red = \"4111de\"\r\n }\r\n\r\n -- Returns the color of the by position requested playermat as string\r\n ---@param startPos Table Position of the search, table get's roughly cut into 4 quarters to assign a playermat\r\n PlaymatApi.getMatColorByPosition = function(startPos)\r\n if startPos.x < -42 then\r\n if startPos.z > 0 then\r\n return \"White\"\r\n else\r\n return \"Orange\"\r\n end\r\n else\r\n if startPos.z > 0 then\r\n return \"Green\"\r\n else\r\n return \"Red\"\r\n end\r\n end\r\n end\r\n\r\n -- Returns the color of the player's hand that is seated next to the playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getPlayerColor = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"playerColor\")\r\n end\r\n\r\n -- Returns the color of the playermat that owns the playercolor's hand\r\n ---@param handColor String Color of the playermat\r\n PlaymatApi.getMatColor = function(handColor)\r\n local matColors = {\"White\", \"Orange\", \"Green\", \"Red\"}\r\n for i, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n local color = mat.getVar(\"playerColor\")\r\n if color == handColor then return matColors[i] end\r\n end\r\n return \"NOT_FOUND\"\r\n end\r\n\r\n -- Returns the result of a cast in the specificed playermat's area\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.searchPlaymat = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"searchAroundSelf\")\r\n end\r\n\r\n -- Returns if there is the card \"Dream-Enhancing Serum\" on the requested playermat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.isDES = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"isDES\")\r\n end\r\n\r\n -- Returns the draw deck of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDrawDeck = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n mat.call(\"getDrawDiscardDecks\")\r\n return mat.getVar(\"drawDeck\")\r\n end\r\n\r\n -- Returns the position of the discard pile of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.getDiscardPosition = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"returnGlobalDiscardPosition\")\r\n end\r\n\r\n -- Transforms a local position into a global position\r\n ---@param localPos Table Local position to be transformed\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.transformLocalPosition = function(localPos, matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.positionToWorld(localPos)\r\n end\r\n\r\n -- Returns the rotation of the requested playmat\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnRotation = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getRotation()\r\n end\r\n\r\n -- Triggers the Upkeep for the requested playmat\r\n ---@param matColor String Color of the playermat\r\n ---@param playerColor String Color of the calling player (for messages)\r\n PlaymatApi.doUpkeepFromHotkey = function(matColor, playerColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.call(\"doUpkeepFromHotkey\", playerColor)\r\n end\r\n\r\n -- Returns the active investigator id\r\n ---@param matColor String Color of the playermat\r\n PlaymatApi.returnInvestigatorId = function(matColor)\r\n local mat = getObjectFromGUID(MAT_IDS[matColor])\r\n return mat.getVar(\"activeInvestigatorId\")\r\n end\r\n\r\n -- Sets the requested playermat's snap points to limit snapping to matching card types or not. If\r\n -- matchTypes is true, the main card slot snap points will only snap assets, while the\r\n -- investigator area point will only snap Investigators. If matchTypes is false, snap points will\r\n -- be reset to snap all cards.\r\n ---@param matchCardTypes Boolean. Whether snap points should only snap for the matching card\r\n -- types.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.setLimitSnapsByType = function(matchCardTypes, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"setLimitSnapsByType\", matchCardTypes)\r\n end\r\n end\r\n\r\n -- Sets the requested playermat's draw 1 button to visible\r\n ---@param isDrawButtonVisible Boolean. Whether the draw 1 button should be visible or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.showDrawButton = function(isDrawButtonVisible, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"showDrawButton\", isDrawButtonVisible)\r\n end\r\n end\r\n\r\n -- Shows or hides the clickable clue counter for the requested playermat\r\n ---@param showCounter Boolean. Whether the clickable counter should be present or not\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.clickableClues = function(showCounter, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"clickableClues\", showCounter)\r\n end\r\n end\r\n\r\n -- Removes all clues (to the trash for tokens and counters set to 0) for the requested playermat\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will apply the setting to all four mats.\r\n PlaymatApi.removeClues = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"removeClues\")\r\n end\r\n end\r\n\r\n -- Reports the clue count for the requested playermat\r\n ---@param useClickableCounters Boolean Controls which type of counter is getting checked\r\n PlaymatApi.getClueCount = function(useClickableCounters, matColor)\r\n local count = 0\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n count = count + tonumber(mat.call(\"getClueCount\", useClickableCounters))\r\n end\r\n return count\r\n end\r\n\r\n -- Adds the specified amount of resources to the requested playermat's resource counter\r\n PlaymatApi.gainResources = function(amount, matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"gainResources\", amount)\r\n end\r\n end\r\n\r\n -- Discard a non-hidden card from the corresponding player's hand\r\n PlaymatApi.doDiscardOne = function(matColor)\r\n for _, mat in ipairs(internal.getMatForColor(matColor)) do\r\n mat.call(\"doDiscardOne\")\r\n end\r\n end\r\n\r\n PlaymatApi.syncAllCustomizableCards = function()\r\n for _, mat in ipairs(internal.getMatForColor(\"All\")) do\r\n mat.call(\"syncAllCustomizableCards\")\r\n end\r\n end\r\n\r\n -- Convenience function to look up a mat's object by color, or get all mats.\r\n ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also\r\n -- accepts \"All\" as a special value which will return all four mats.\r\n ---@return: Array of playermat objects. If a single mat is requested, will return a single-element\r\n -- array to simplify processing by consumers.\r\n internal.getMatForColor = function(matColor)\r\n local targetMatGuid = MAT_IDS[matColor]\r\n if targetMatGuid != nil then\r\n return { getObjectFromGUID(targetMatGuid) }\r\n end\r\n if matColor == \"All\" then\r\n return {\r\n getObjectFromGUID(MAT_IDS.White),\r\n getObjectFromGUID(MAT_IDS.Orange),\r\n getObjectFromGUID(MAT_IDS.Green),\r\n getObjectFromGUID(MAT_IDS.Red),\r\n }\r\n end\r\n end\r\n\r\n return PlaymatApi\r\nend\r\nend)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\nrequire(\"accessories/CleanUpHelper\")\nend)\n__bundle_register(\"accessories/CleanUpHelper\", function(require, _LOADED, __bundle_register, __bundle_modules)\n--[[\r\nCleans up the table for the next scenario in a campaign:\r\n- sets counters to default values (resources and doom) or trauma values (health and sanity, if not disabled) from campaign log\r\n- puts everything on playmats and hands into respective trashcans\r\n- use the IGNORE_TAG to exclude objects from tidying (default: \"CleanUpHelper_Ignore\")]]\r\nlocal tokenSpawnTrackerApi = require(\"core/token/TokenSpawnTrackerApi\")\r\nlocal soundCubeApi = require(\"core/SoundCubeApi\")\r\nlocal playmatApi = require(\"playermat/PlaymatApi\")\r\nlocal blessCurseManagerApi = require(\"chaosbag/BlessCurseManagerApi\")\r\nlocal chaosBagApi = require(\"chaosbag/ChaosBagApi\")\r\n\r\n-- these objects will be ignored\r\nlocal IGNORE_GUIDS = {\r\n -- big playmat, change image panel and investigator counter\r\n \"b7b45b\", \"f182ee\", \"721ba2\",\r\n -- bless/curse manager\r\n \"afa06b\", \"bd0253\", \"5933fb\",\r\n -- stuff on agenda/act playmat\r\n \"85c4c6\", \"4a3aa4\", \"fea079\", \"b015d8\", \"11e0cf\", \"9f334f\", \"70b9f6\", \"0a5a29\",\r\n -- doom/location token bag\r\n \"47ffc3\", \"170f10\",\r\n -- table\r\n \"4ee1f2\"\r\n}\r\n\r\n-- objects with this tag will be ignored\r\nlocal IGNORE_TAG = \"CleanUpHelper_ignore\"\r\n\r\n-- colors and order for following tables\r\nlocal COLORS = { \"White\", \"Orange\", \"Green\", \"Red\", \"Agenda\" }\r\n\r\n-- counter GUIDS (4x damage and 4x horror)\r\nlocal DAMAGE_HORROR_GUIDS = {\r\n \"eb08d6\", \"e64eec\", \"1f5a0a\", \"591a45\",\r\n \"468e88\", \"0257d9\", \"7b5729\", \"beb964\",\r\n}\r\n\r\nlocal RESET_VALUES = {}\r\n\r\n-- GUIDS of objects (in order of ownership relating to 'COLORS')\r\nlocal PLAYERMAT_GUIDS = { \"8b081b\", \"bd0ff4\", \"383d8b\", \"0840d5\" }\r\nlocal RESOURCE_GUIDS = { \"4406f0\", \"816d84\", \"cd15ac\", \"a4b60d\" }\r\nlocal TRACKER_GUIDS = { \"e598c2\", \"b4a5f7\", \"af7ed7\", \"e74881\" }\r\nlocal CLUE_GUIDS = { \"d86b7c\", \"1769ed\", \"032300\", \"37be78\" }\r\nlocal CLUE_CLICKER_GUIDS = { \"db85d6\", \"3f22e5\", \"891403\", \"4111de\" }\r\nlocal TRASHCAN_GUIDS = { \"147e80\", \"f7b6c8\", \"5f896a\", \"4b8594\", \"70b9f6\" }\r\n\r\n-- values for physics.cast (4 entries for player zones, 5th entry for agenda/act deck, 6th for campaign log)\r\nlocal PHYSICS_POSITION = {\r\n { -54.5, 2, 21 },\r\n { -54.5, 2, -21 },\r\n { -27.0, 2, 26 },\r\n { -27.0, 2, -26 },\r\n { -02.0, 2, 10 },\r\n { -00.0, 2, -27 }\r\n}\r\n\r\nlocal PHYSICS_ROTATION = { 270, 270, 0, 180, 270, 0 }\r\n\r\nlocal PHYSICS_SCALE = {\r\n { 36.6, 1, 14.5 },\r\n { 36.6, 1, 14.5 },\r\n { 34.0, 1, 14.5 },\r\n { 34.0, 1, 14.5 },\r\n { 55.0, 1, 13.5 },\r\n { 05.0, 1, 05.0 }\r\n}\r\n\r\nlocal optionsVisible = false\r\nlocal options = {}\r\noptions[\"importTrauma\"] = true\r\noptions[\"tidyPlayermats\"] = true\r\noptions[\"removeDrawnLines\"] = false\r\n\r\nlocal buttonParameters = {}\r\nbuttonParameters.function_owner = self\r\n\r\n---------------------------------------------------------\r\n-- option loading and GUI setup\r\n---------------------------------------------------------\r\n\r\nfunction onSave()\r\n return JSON.encode({ options = options })\r\nend\r\n\r\nfunction onLoad(savedData)\r\n if savedData ~= nil then\r\n local loadedData = JSON.decode(savedData)\r\n options = loadedData.options\r\n -- update UI to match saved state\r\n for id, state in pairs(options) do\r\n self.UI.setAttribute(id, \"image\", state and \"option_on\" or \"option_off\")\r\n end\r\n end\r\n\r\n -- index 0: button as label\r\n buttonParameters.label = \"Clean Up Helper\"\r\n buttonParameters.click_function = \"none\"\r\n buttonParameters.position = { x = 0, y = 0.1, z = -1.3 }\r\n buttonParameters.height = 0\r\n buttonParameters.width = 0\r\n buttonParameters.font_size = 230\r\n buttonParameters.font_color = Color(0, 0, 0)\r\n self.createButton(buttonParameters)\r\n\r\n -- index 1: option button\r\n buttonParameters.label = \"Settings\"\r\n buttonParameters.click_function = \"showOrHideOptions\"\r\n buttonParameters.color = { 0, 0, 0, 0.96 }\r\n buttonParameters.position.z = -0.1\r\n buttonParameters.height = 350\r\n buttonParameters.width = 1000\r\n buttonParameters.font_size = 190\r\n buttonParameters.font_color = \"White\"\r\n self.createButton(buttonParameters)\r\n\r\n -- index 2: start button\r\n buttonParameters.label = \"Reset play areas\"\r\n buttonParameters.click_function = \"cleanUp\"\r\n buttonParameters.position.z = 1.1\r\n buttonParameters.width = 1550\r\n self.createButton(buttonParameters)\r\n\r\n -- create single table for ignoring\r\n for _, v in ipairs(CLUE_GUIDS) do table.insert(IGNORE_GUIDS, v) end\r\n for _, v in ipairs(CLUE_CLICKER_GUIDS) do table.insert(IGNORE_GUIDS, v) end\r\n for _, v in ipairs(RESOURCE_GUIDS) do table.insert(IGNORE_GUIDS, v) end\r\n for _, v in ipairs(TRASHCAN_GUIDS) do table.insert(IGNORE_GUIDS, v) end\r\n for _, v in ipairs(PLAYERMAT_GUIDS) do table.insert(IGNORE_GUIDS, v) end\r\n for _, v in ipairs(DAMAGE_HORROR_GUIDS) do table.insert(IGNORE_GUIDS, v) end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- click functions for option buttons\r\n---------------------------------------------------------\r\n\r\n-- changes the UI state and the internal variable for the togglebuttons\r\nfunction optionButtonClick(_, id)\r\n local currentState = options[id]\r\n local newState = (currentState and \"option_off\" or \"option_on\")\r\n options[id] = not currentState\r\n self.UI.setAttribute(id, \"image\", newState)\r\nend\r\n\r\n-- shows or hides the option panel\r\nfunction showOrHideOptions()\r\n optionsVisible = not optionsVisible\r\n\r\n if optionsVisible then\r\n self.UI.show(\"options\")\r\n else\r\n self.UI.hide(\"options\")\r\n end\r\nend\r\n\r\n---------------------------------------------------------\r\n-- main function\r\n---------------------------------------------------------\r\n\r\nfunction cleanUp(_, color)\r\n printToAll(\"------------------------------\", \"White\")\r\n printToAll(\"Clean up started!\", \"Orange\")\r\n printToAll(\"Resetting counters...\", \"White\")\r\n\r\n soundCubeApi.playSoundByName(\"Vacuum\")\r\n ignoreCustomDataHelper()\r\n getTrauma()\r\n updateCounters(DAMAGE_HORROR_GUIDS, RESET_VALUES, \"Damage / Horror\")\r\n updateCounters(RESOURCE_GUIDS, 5, \"Resources\")\r\n updateCounters(CLUE_CLICKER_GUIDS, 0, \"Clue clickers\")\r\n resetSkillTrackers()\r\n resetDoomCounter()\r\n blessCurseManagerApi.removeAll(color)\r\n removeLines()\r\n discardHands()\r\n tokenSpawnTrackerApi.resetAll()\r\n chaosBagApi.releaseAllSealedTokens(color)\r\n\r\n printToAll(\"Tidying main play area...\", \"White\")\r\n startLuaCoroutine(self, \"tidyPlayareaCoroutine\")\r\nend\r\n\r\n---------------------------------------------------------\r\n-- modular functions, called by other functions\r\n---------------------------------------------------------\r\n\r\nfunction updateCounters(tableOfGUIDs, tableOfNewValues, info)\r\n if tonumber(tableOfNewValues) then\r\n local value = tableOfNewValues\r\n tableOfNewValues = {}\r\n for i = 1, #tableOfGUIDs do\r\n table.insert(tableOfNewValues, value)\r\n end\r\n end\r\n\r\n for i, guid in ipairs(tableOfGUIDs) do\r\n local TOKEN = getObjectFromGUID(guid)\r\n\r\n if TOKEN ~= nil then\r\n TOKEN.call(\"updateVal\", tableOfNewValues[i])\r\n else\r\n printToAll(info .. \": No. \" .. i .. \" could not be found.\", \"Yellow\")\r\n end\r\n end\r\nend\r\n\r\n-- set investigator skill trackers to \"1, 1, 1, 1\"\r\nfunction resetSkillTrackers()\r\n for i, guid in ipairs(TRACKER_GUIDS) do\r\n local obj = getObjectFromGUID(guid)\r\n\r\n if obj ~= nil then\r\n obj.call(\"updateStats\", { 1, 1, 1, 1 })\r\n else\r\n printToAll(\"Skill tracker for \" .. COLORS[i] .. \" playmat could not be found.\", \"Yellow\")\r\n end\r\n end\r\nend\r\n\r\n-- reset doom on agenda\r\nfunction resetDoomCounter()\r\n local doomcounter = getObjectFromGUID(\"85c4c6\")\r\n\r\n if doomcounter ~= nil then\r\n doomcounter.call(\"updateVal\")\r\n else\r\n printToAll(\"Doom counter could not be found.\", \"Yellow\")\r\n end\r\nend\r\n\r\n-- gets the GUID of a custom data helper (if present) and adds it to the ignore list\r\nfunction ignoreCustomDataHelper()\r\n local playArea = getObjectFromGUID(\"721ba2\")\r\n local customDataHelper = playArea.getVar(\"customDataHelper\")\r\n if customDataHelper then table.insert(IGNORE_GUIDS, customDataHelper.getGUID()) end\r\nend\r\n\r\n-- read values for trauma from campaign log if enabled\r\nfunction getTrauma()\r\n RESET_VALUES = {\r\n 0, 0, 0, 0,\r\n 0, 0, 0, 0\r\n }\r\n\r\n -- stop here if trauma import is disabled\r\n if not options[\"importTrauma\"] then\r\n printToAll(\"Default values for health and sanity loaded.\", \"Yellow\")\r\n return\r\n end\r\n\r\n -- get campaign log\r\n local campaignLog = findObjects(6)[1]\r\n if campaignLog == nil then\r\n printToAll(\"Campaign log not found in standard position!\", \"Yellow\")\r\n printToAll(\"Default values for health and sanity loaded.\", \"Yellow\")\r\n return\r\n end\r\n\r\n -- get data from campaign log if possible\r\n local counterData = campaignLog.hit_object.getVar(\"ref_buttonData\")\r\n if counterData ~= nil then\r\n printToAll(\"Trauma values found in campaign log!\", \"Green\")\r\n for i = 1, 10, 3 do\r\n RESET_VALUES[1 + (i - 1) / 3] = counterData.counter[i].value\r\n RESET_VALUES[5 + (i - 1) / 3] = counterData.counter[i + 1].value\r\n end\r\n else\r\n printToAll(\"Trauma values could not be found in campaign log!\", \"Yellow\")\r\n printToAll(\"Default values for health and sanity loaded.\", \"Yellow\")\r\n end\r\nend\r\n\r\n-- remove drawn lines\r\nfunction removeLines()\r\n if options[\"removeDrawnLines\"] then\r\n printToAll(\"Removing vector lines...\", \"White\")\r\n Global.setVectorLines({})\r\n end\r\nend\r\n\r\n-- discard all hand objects\r\nfunction discardHands()\r\n if not options[\"tidyPlayermats\"] then return end\r\n for i = 1, 4 do\r\n local trashcan = getObjectFromGUID(TRASHCAN_GUIDS[i])\r\n if trashcan == nil then return end\r\n local hand = Player[playmatApi.getPlayerColor(COLORS[i])].getHandObjects()\r\n for j = #hand, 1, -1 do\r\n trashcan.putObject(hand[j])\r\n end\r\n end\r\nend\r\n\r\n-- clean up for play area\r\nfunction tidyPlayareaCoroutine()\r\n local trashcan = getObjectFromGUID(TRASHCAN_GUIDS[5])\r\n local PLAYMATZONE = getObjectFromGUID(\"a2f932\")\r\n\r\n if PLAYMATZONE == nil then\r\n printToAll(\"Scripting zone for main play area could not be found!\", \"Red\")\r\n elseif trashcan == nil then\r\n printToAll(\"Trashcan for main play area could not be found!\", \"Red\")\r\n else\r\n for _, obj in ipairs(PLAYMATZONE.getObjects()) do\r\n -- ignore these elements\r\n if not tableContains(IGNORE_GUIDS, obj.getGUID()) and obj.hasTag(IGNORE_TAG) == false then\r\n coroutine.yield(0)\r\n trashcan.putObject(obj)\r\n end\r\n end\r\n end\r\n\r\n printToAll(\"Tidying playermats and agenda mat...\", \"White\")\r\n startLuaCoroutine(self, \"tidyPlayerMatCoroutine\")\r\n return 1\r\nend\r\n\r\n-- clean up for the four playermats and the agenda/act playmat\r\nfunction tidyPlayerMatCoroutine()\r\n for i = 1, 5 do\r\n -- only continue for playermat (1-4) if option enabled\r\n if options[\"tidyPlayermats\"] or i == 5 then\r\n -- delay for animation purpose\r\n for k = 1, 30 do coroutine.yield(0) end\r\n\r\n -- get respective trashcan\r\n local trashcan = getObjectFromGUID(TRASHCAN_GUIDS[i])\r\n if trashcan == nil then\r\n printToAll(\"Trashcan for \" .. COLORS[i] .. \" playmat could not be found!\", \"Red\")\r\n return 1\r\n end\r\n\r\n for _, entry in ipairs(findObjects(i)) do\r\n local obj = entry.hit_object\r\n local desc_low = string.lower(obj.getDescription())\r\n\r\n -- ignore these elements\r\n if not tableContains(IGNORE_GUIDS, obj.getGUID()) and obj.hasTag(IGNORE_TAG) == false and\r\n desc_low ~= \"chaos bag\" and desc_low ~= \"action token\" then\r\n coroutine.yield(0)\r\n trashcan.putObject(obj)\r\n\r\n -- flip action tokens back to ready\r\n elseif desc_low == \"action token\" and obj.is_face_down then\r\n obj.flip()\r\n end\r\n end\r\n\r\n -- reset \"activeInvestigatorId\"\r\n if i < 5 then\r\n local playermat = getObjectFromGUID(PLAYERMAT_GUIDS[i])\r\n if playermat then\r\n playermat.setVar(\"activeInvestigatorId\", \"00000\")\r\n end\r\n end\r\n end\r\n end\r\n\r\n local datahelper = getObjectFromGUID(\"708279\")\r\n if datahelper then\r\n datahelper.setTable(\"SPAWNED_PLAYER_CARD_GUIDS\", {})\r\n end\r\n\r\n printToAll(\"Clean up completed!\", \"Green\")\r\n return 1\r\nend\r\n\r\n---------------------------------------------------------\r\n-- helper functions\r\n---------------------------------------------------------\r\n\r\n-- find objects depending on index (1 to 4 for playermats, 5 for agenda/act playmat, 6 for campaign log)\r\nfunction findObjects(num)\r\n return Physics.cast({\r\n direction = { 0, 1, 0 },\r\n max_distance = 1,\r\n type = 3,\r\n size = PHYSICS_SCALE[num],\r\n origin = PHYSICS_POSITION[num],\r\n orientation = { 0, PHYSICS_ROTATION[num], 0 },\r\n debug = false\r\n })\r\nend\r\n\r\n-- search a table for a value, return true if found (else returns false)\r\nfunction tableContains(table, value)\r\n for _, v in ipairs(table) do\r\n if v == value then\r\n return true\r\n end\r\n end\r\n return false\r\nend\r\nend)\nreturn __bundle_require(\"__root\")", - "LuaScriptState": "{\"options\":{\"importTrauma\":true,\"removeDrawnLines\":false,\"tidyPlayermats\":true}}", - "XmlUI": "\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